Как ввести формулу массива в другую формулу

389
Dominique

У меня есть лист Excel, в котором хранится время для отчетов (когда они были запущены, сначала обработаны, все еще открыты или уже закрыты, ...).

Для ясности в формулах Excel я дал имя всем столбцам, например:

  • имя All_Still_Open: столбец Still_Openсодержит TRUEили FALSE, результат формулы.
  • имя All_Start_Dates: столбец Start Dateсодержит дату начала отчетов.

Я хотел бы знать среднее время, когда отчет еще открыт. Поэтому у меня есть следующая формула массива:

{=AVERAGE(IF(All_Still_Open;TODAY()-All_Start_Dates))} 

(Фигурные скобки вводятся с помощью Ctrl + Shift + Enter)

Это работает нормально, но мой отдел работал очень усердно, и теперь больше нет открытых отчетов. В результате этого формула дает код ошибки деления на ноль, который мне не нужен: 0вместо этого я бы хотел увидеть значение .

Я пытался поместить IF-clause вокруг него, но это не работает: предложение if, кажется, делает невозможным преобразование этого в формулу массива.

Я хотел бы что-то вроде следующего:

=IF(<condition>;0;{=AVERAGE(IF(All_Still_Open;TODAY()-All_Start_Dates))} 

=> Следите за фигурными скобками.

Возможно ли это с помощью стандартного Excel или мне нужно написать свою собственную функцию для этого (которую я предпочитаю избегать по причинам читабельности)? (Кажется, что добавление фигурных скобок самостоятельно, без использования Ctrl + Shift + Enter, не работает.

0
Попробуйте IFERROR, если он вам доступен. `IF (ваша формула, что делать в случае ошибки)` ". Запомните только один = знак в строке. Итак, {= IFERROR (AVERAGE ...)}. Также, в зависимости от вашей версии Excel, теперь, очевидно, существует AVERAGEIF, если Я правильно помню. Forward Ed 5 лет назад 0

0 ответов на вопрос

Похожие вопросы