Как работает эта формула? - PullRequest
1 голос
/ 17 мая 2019

Я смотрю на устаревшую электронную таблицу и не могу понять, как работает эта формула. Я ни в коем случае не мастер волшебства.

Таблица отслеживает выставление счетов за компанию для сотрудников. В каждой строке пользователь помещает идентификатор, сумму и формулу, а затем помещает цифру в столбец для данного сотрудника.

Screenshot of sample spreadsheet

И формула:

=IF(A2="Foo",A2="Foo")*(SUM(B2))

Я бы сделал это:

=IF(A2="Foo", B2, 0)

Который, кажется, имеет тот же эффект.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 17 мая 2019

=IF(A2="Foo",A2="Foo") эквивалентно =A2="Foo".В результате получается логическое значение, которое используется операцией умножения как 1 или 0.

Я не вижу смысла выражать это таким образом вместо более краткой и интуитивно понятной формулы, которую вы предлагаете.

1 голос
/ 17 мая 2019

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

=(A2="Foo")*B2

Вышеуказанную формулу вы поместите в D2 и скопируете, а затем вам придется повторить сравнение строк для столбца E, а затем снова для F. Если вы использовали следующую формулуВы можете поместить его в D2 и скопировать его вниз и вправо по мере необходимости, не корректируя формулу.

=($A2=D$1)*$B2

В более общих выражениях это будет выглядеть как

=IF($A2=D$1,$B2,0)
...