5

Как включить OR в функцию sumproduct в Excel? В настоящее время я использую две формулы sumproduct потому что у меня есть две переменные, которые я хочу считать:

=Sumproduct((A3:A159=B3:B159)*(D3:D159="Target A"))
=Sumproduct((A3:A159=B3:B159)*(D3:D159="Target B"))

Есть ли простой способ написать это в одной формуле? Это не убивает меня, чтобы написать это в два раза, но если это может быть сделано лучше, тогда я все уши - всегда готов учиться.

4 ответа4

8

Знак "плюс" (+) предназначен для OR в формулах массива (и SUMPRODUCT).

= Субпродукт ((A3:A159 = B3:B159)* ((D3:D159 = "Цель A")+(D3:D159 = "Цель B")))

С SUMPRODUCT каждое сравнение оценивается как TRUE и FALSE . В Excel значение TRUE может быть представлено любым ненулевым числом, тогда как FALSE равно 0 . Если D3="Target A" , первый элемент этого массива будет 1 (True=1). Это означает, что D3 не может быть Target B и этот элемент этого массива будет 0 . Когда вы сложите их вместе, оно будет равно 1 и будет считаться TRUE .

Может быть трудно понять, как массивы работают в формулах. Попробуйте прочитать это.

1

В Excel есть функция ИЛИ: ИЛИ (логический1, [логический2], [логический3], ...)

Этот пример будет TRUE, если C1 или B1 содержат значения больше 100, или FALSE, если они оба не:

=OR(B1>100,C1>100)

Я не уверен на 100%, как вы хотите применить это, но я уверен, что это может помочь.

0

Вот еще одно решение с использованием нескольких условий в SUMPRODUCT:

=Sumproduct((A3:A159=B3:B159)*(D3:D159={"Target A","Target B"}))
-2

Вы также можете указать имя списка критериев. Так RangeName = Цель A и Цель B в ячейках A1 и A2.

Тогда =Sumproduct( .... )*(D3:D159=RangeName)

Работал на меня.

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