Формула Excel подставляет аналогичные значения в одну формулу - PullRequest
1 голос
/ 30 сентября 2019

Я настроил эту формулу: для каждой ячейки она должна вычитать содержимое из того, что я хранила в данных! $ B $ 1, в данном случае это 300, поэтому, если содержимое «Времени 1» равно 100, этобудет отображаться 200, затем будут суммироваться все эти значения от времени 1 до времени 15, это также будет игнорировать все, что не является числом. В настоящее время у меня есть:

=SUM(IF(ISNUMBER([@[Time 1]]),data!$B$1-[@[Time 1]], 0),IF(ISNUMBER([@[Time 2]]),data!$B$1-[@[Time 2]], 0),IF(ISNUMBER([@[Time 3]]),data!$B$1-[@[Time 3]], 0),IF(ISNUMBER([@[Time 4]]),data!$B$1-[@[Time 4]], 0),IF(ISNUMBER([@[Time 5]]),data!$B$1-[@[Time 5]], 0),IF(ISNUMBER([@[Time 6]]),data!$B$1-[@[Time 6]], 0),IF(ISNUMBER([@[Time 7]]),data!$B$1-[@[Time 7]], 0),IF(ISNUMBER([@[Time 8]]),data!$B$1-[@[Time 8]], 0),IF(ISNUMBER([@[Time 9]]),data!$B$1-[@[Time 9]], 0),IF(ISNUMBER([@[Time 10]]),data!$B$1-[@[Time 10]], 0),IF(ISNUMBER([@[Time 11]]),data!$B$1-[@[Time 11]], 0), IF(ISNUMBER([@[Time 12]]),data!$B$1-[@[Time 12]], 0),IF(ISNUMBER([@[Time 13]]),data!$B$1-[@[Time 13]], 0), IF(ISNUMBER([@[Time 14]]),data!$B$1-[@[Time 14]], 0), IF(ISNUMBER([@[Time 15]]),data!$B$1-[@[Time 15]], 0))

По сути это просто

=SUM(IF(ISNUMBER([@[Time 1]]),data!$B$1-[@[Time 1]], 0))

, но повторяется для каждого времени. Кажется, что это очень многословно для чего-то, что практически использует ту же формулу. Может ли тот же результат быть достигнут путем замены списка «Время 1» списком?

Вот пример расчета в настоящее время:

enter image description here enter image description here

Заранее спасибо.

1 Ответ

1 голос
/ 30 сентября 2019

Используйте SUM (IFERROR ()) в качестве формулы массива:

=SUM(IFERROR(data!$B$1-[@[Time 1]:[Time 15]],0))

Будучи формулой массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here

...