Как я могу исправить эту формулу Excel, чтобы исключить строки из расчета, когда два разных столбца имеют определенное значение?

#excel #excel-formula

Вопрос:

Я не очень разбираюсь в Excel, и я нахожу следующую трудность, пытаясь адаптировать ранее существовавшую формулу к новым требованиям.

В принципе, у меня есть эта оригинальная формула (отлично работает).:

 =SUMPRODUCT((D2:D7)*(B2:B7="BUY"))/SUMPRODUCT((G2:G7)*(B2:B7="BUY"))
 

Это в основном вычисляет среднюю цену, проверяя, что значение столбца B равно «КУПИТЬ» (в основном, чтобы исключить, когда строка является строкой ПРОДАЖИ). Это прекрасно работает.

Теперь мне нужно изменить предыдущую формулу, исключая также все строки, в которых столбец H имеет значение, отличное от «CC». Я попытался сделать это таким образом:

 =SUMPRODUCT((D2:D7)*(B2:B7="BUY" AND H2:H7="CC"))/SUMPRODUCT((G2:G7)*(B2:B7="BUY" AND H2:H7="CC"))
 

В основном я пытался добавить условие И, проверяя, является ли значение столбца H CC. Но это не работает. Это дает мне синтаксическую ошибку, когда я пытаюсь вставить эту вторую версию моего форума.

Почему? Что случилось? Чего мне не хватает? Как я могу исправить свою формулу?

Ответ №1:

  1. AND используется AND(crit1,crit2) не crit1 AND crit2 .
  2. AND не сработает в этом случае.

Используйте * вместо этого:

 =SUMPRODUCT((D2:D7)*(B2:B7="BUY")*(H2:H7="CC"))/SUMPRODUCT((G2:G7)*(B2:B7="BUY")*(H2:H7="CC"))
 

Ответ №2:

Для AND любого используйте эту логику: AND(B2:B7="BUY",H2:H7="CC") или (B2:B7="BUY")*(H2:H7="CC") во втором * случае AND , но, как указывает Скотт Крейнер в формулах массива (например, SUMPRODUCT), вы должны использовать * .

Комментарии:

1. AND() не будет работать, даже если его скорректировать в надлежащем формате.

2. Ок узнал что-то новое. Это потому, что его нельзя использовать в массивах?

3. Это правильно. И полностью разрешится, прежде чем выдавать один результат. Он не вернет массив.