2014-02-03 5 views
16

Как использовать формулу в ячейке Excel, которая должна суммироваться по заданному диапазону, и вместо поиска для одного значения она должна найти несколько значений?SUMIF с критериями ИЛИ

Для нахождения одного значения, я использую:

=SUMIF(A4:A100;"1";B4:B100) 

Теперь мне нужно просуммировать, если столбец A имеет 1 или 2, как:

=SUMIF(A4:A100;"1" OR "2";B4:B100) 

Ячейка A1 будет удерживать критерии как текст, здесь было бы 1;2.

Она должна возвращать такой же, как

=SUMIF(A4:A100;"1";B4:B100) + SUMIF(A4:A100;"2";B4:B100) 

но мне нужна формула, которая может принимать любое количество критериев (1,2,3, ... или более).

Что такое синтаксис? Я не могу использовать VBA здесь.

+0

Вы можете использовать 'SUMPRODUCT'. –

+0

Вашим непосредственным решением может быть '= SUMIF (A4: A100;" 1 ", B4: B100) + SUMIF (A4: A100;" 2 "; B4: B100)' ... – Jerry

+1

Да, он должен возвращать то же самое, что и = SUMIF (A4: A100; «1», B4: B100) + SUMIF (A4: A100; «2», B4: B100), но мне нужна формула, которая может принимать любое количество критериев (1,2,3, .. . или больше).Я не хочу переписывать формулу когда-либо – Nuts

ответ

26

Подведем для 1 или 2 попробовать эту версию

=SUM(SUMIF(A4:A100;{1;2};B4:B100))

SUMIF возвращает "массив" двух результатов, так что вам нужно SUM суммировать этот массив для общей для 1 и 2

Вы можете добавить столько чисел, как вам нравится е, г,

=SUM(SUMIF(A4:A100;{1;2;3;4};B4:B100))

или с номерами, перечисленными в диапазоне, как Z1: Z10

=SUMPRODUCT(SUMIF(A4:A100;Z1:Z10;B4:B100))

+0

Это ';' или ',' в формуле? –

+1

@PankajJaju Он либо один, в зависимости от региональных настроек. – Jerry

+1

Я в Великобритании, поэтому я обычно использую разделители запятой, но я использовал; в которой используется разделитель, используемый в этом вопросе - это будет обычный разделитель, используемый в большинстве стран Европы (где запятая используется как разделитель десятичной дроби) –

0

Я не думаю, что есть способ сделать ИЛИ в одном утверждении, подобном этому. Вы можете использовать SUMIFS для нескольких условий, когда все должны быть правдой, но в этом случае вам просто нужно добавить вместе нескольких операторов SUMIF:

=SUMIF(A4:A100,"1",B4:B100)+SUMIF(A4:A100,"2",B4:B100) 
0

Так как «1» и «2» являются взаимоисключающими:

=SUMIF(A4:A100,"1",B4:B100)+SUMIF(A4:A100,"2",B4:B100) 
0

я думаю, вы должны определить диапазон, скажем keys, где хранятся все значения, которые вы хотите подвести. поэтому в этом диапазоне вы сохраняете 1 и 2 и можете модифицировать его, когда захотите. то вы добавляете столбец флага с формулой IFERROR(IF(MATCH(A4,keys,0)>0,1,0),0) - теперь у вас есть столбец, в котором 1 для значений, которые вы хотите суммировать.

0

это работает с оценкой нескольких текстовых

=sumif(M4:M206,"Sat",O4:O206)+sumif(M4:M206,"Sun",O4:O206) // добавьте сюда еще + + +

Смежные вопросы