3

У меня есть ячейка Excel (2010) с этой формулой:

{=SUM(IF('Tasks'!$I:$I=$C4,'Tasks'!$F$2:$F$2000,0))}

который работает (правильная сумма дается). Но когда я ввожу другой элемент для поиска:

{=SUM(IF(AND('Tasks'!$H:$H=B4,'Tasks'!$I:$I=$C4),'Tasks'!$F$2:$F$2000,0))}

это не работает (всего ноль). AND не работает в этом случае? Или я сделал ошибку?

Объяснение кода: у меня есть два листа, общий лист (где размещен этот код) и лист задач . Лист задач содержит приоритет работы (в столбце H), людей (в столбце I) и расчетное время (в столбце F). Поэтому я хочу выяснить, по какому количеству работы и по каждому человеку и по приоритету задач. Первая строка кода - это приблизительное время на человека, которое, как я писал, работает нормально. На итоговом листе B4 содержит приоритет текущего элемента, а C4 - имя текущего человека.

2 ответа2

4

Короче говоря, нет, AND не делает то, что вам нужно, потому что он возвращает один результат (только ИСТИНА, если все условия для всех ячеек ИСТИНА), а не "массив" значений ИСТИНА / ЛОЖЬ для каждой ячейки в диапазоне.

Вам нужно использовать * (для умножения и имитации И) или использовать несколько IF

Также вы должны сохранить диапазоны одинакового размера, в этом случае вы можете использовать эту "формулу массива"

=SUM(IF(('Tasks'!$H$2:$H$2000=B4)*('Tasks'!$I$2:$I$2000=$C4),'Tasks'!$F$2:$F$2000))

подтверждено с помощью CTRL+SHIFT+ENTER

.... но в Excel 2010 предпочтительнее использовать SUMIFS (с диапазоном сумм в начале), т.е.

=SUMIFS('Tasks'!F:F,'Tasks'!H:H,B4,'Tasks'!I:I,C4)

0

Вы можете использовать вложенный IF следующим образом:

{=SUM(IF('Tasks'!$H:$H=B4, if('Tasks'!$I:$I=$C4, 'Tasks'!$F$2:$F$2000,0), 0))}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .