Страницы: 1
RSS
Есть ли проверка наличия формул в диапазоне?
 
Подскажите, пожалуйста, можно ли формулой определить наличие формул в диапазоне ячеек? А конкретнее:
Есть лист, на котором во всех (я так думаю) ячейках стоит формула. И я хотел бы в одной проверочной ячейке сразу проверить, нигде ли не пропущена формула в строке (или заданном диапазоне ячеек). И те ячейки с формулами не выводят данные. Вывод есть только при условии (в тех формулах).
Пример формулы из ячеек:
Код
=if(isnumber(search(BI$1;$C9));$D9;"")

isformula() проверяет только ячейку или весь массив целиком. А мне нужно, чтобы в массиве проверялся пропуск (где забыли вставить формулу).

 
Вопрос, наверное, надо ставить так: проверка ОТСУТСТВИЯ формулы в диапазоне ячеек с формулами.
Так, возможно(формула массива - вводится сочетанием клавиш Ctrl+Shift+Enter):
Код
=СУММ(--ЕФОРМУЛА(A1:A10))=СЧЁТЗ(A1:A10)
Изменено: Дмитрий(The_Prist) Щербаков - 19.02.2020 18:32:54
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Да, так бы прозвучало название темы лучше. Но нет прав название изменить.
Спасибо за формулу, у меня что-то она не работает.

Если разбиваю ее, то:
Код
=СУММ(--ЕФОРМУЛА(A1:A10))
дает просто 1
Код
=СЧЁТЗ(A1:A10)
дает 56 (количество ячеек в диапазоне, где я ищу).

Диапазоны я подправил у себя, конечно.
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Так, возможн
Дмитрий, ТС постоянно забывает сообщить, что он ищет формулы для Google Spreadsheet. :)  А там
Код
=ArrayFormula(SUM(ISFORMULA(E1:E7)))
не работает. Возвращает 0
 
Цитата
Андрей VG написал:
для Google Spreadsheet
а, ну тогда всего хорошего ему :) еще раз убедится в том, что Excel и GoogleSheets это хоть и похожие, но очень разные программы.
Цитата
krook написал:
=СЧЁТЗ(A1:A10) дает 56 (количество ячеек в диапазоне, где я ищу).
8-0 Google очень сильно отличается. В 10 ячейках 56 насчитать...Это сарказм, конечно :)
Изменено: Дмитрий(The_Prist) Щербаков - 19.02.2020 18:54:35
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Андрей VG написал:
Дмитрий, ТС постоянно забывает сообщить, что он ищет формулы для Google Spreadsheet.
Моя вина ((
Цитата
Дмитрий(The_Prist) Щербаков написал:
Google очень сильно отличается. В 10 ячейках 56 насчитать...
Я же писал выше, что диапазоны поменял на своем листе.

Жаль, что Google не работает так же как в Excel.  
 
Цитата
krook написал:
Жаль, что Google не работает так же как в Excel.  
Почему не работает? Так же как и в Excel можно написать Udf-функцию для получения нужного результата
Код
/** Получить число функций в указанном диапазоне
*
* @param {"A1:A10"} srcRange Адрес исследуемого диапазона как текст
* @return Возвращает колечество найденных функций
*@customfunction
*/
function FormulaCount(srcRange) {
  srcRange = SpreadsheetApp.getActiveSheet().getRange(srcRange);
  const arrFormulas = srcRange.getFormulas();
  var c = 0, i;
  for (i in arrFormulas) {
    c += arrFormulas[i].reduce(function (counter, item) {counter = (item.length > 0 && item[0] == '=' ? 1: 0); return counter;}, 0);
  }
  return c;
}

Пример использования
Код
=FormulaCount("A1:A8")
Обратите внимание на кавычки в указываемом адресе ячеек.
Изменено: Андрей VG - 19.02.2020 23:12:50 (Добавил описание, отображаемое при вводе - будем клиентоориентированными :))
Страницы: 1
Наверх