Excel: Используя формулу (без VBA), как проверить, находятся ли элементы в диапазоне в другом массиве, который определяется индексом/соответствием

#arrays #excel #excel-formula

Вопрос:

У меня был бы другой вопрос. Ситуация выглядит следующим образом: у меня есть две таблицы (=отформатированные таблицы Excel). Ситуация выглядит следующим образом. Я пытаюсь отфильтровать сумму продаж в долларах (ячейка E4) данного торгового представителя (ячейка D4). Я думал об использовании =SUMPRODUCT(IF((Table2[Store ID]=INDEX(Table1[Store ID],MATCH("Marc",Table1[Sales Rep],0),)),1,0)) (так как у меня были бы другие условия, такие как месяц, которые не отображаются в моем примере ниже), однако это не дает мне правильного значения. Формула индекса дает мне только первый результат, как только она находит «Марк».

«Правильный» результат в показанном примере составит 121 доллар, так как Марк учитывает эти продажи в магазине с идентификатором 1.

Как я могу преодолеть эту проблему? Любая помощь была бы очень признательна.

введите описание изображения здесь

Ответ №1:

Добавьте дополнительный столбец [магазин в порядке] с формулой =IF(F7=$D$4,[@[store ID]],0) в таблицу 1, чтобы указать, что этот магазин находится под контролем Марка.

В E4 вставьте формулу

 =SUMPRODUCT(Table2[Sales]* COUNTIF(Table1[shop ok],Table2[Store ID]))
 

Это формула массива, поэтому добавьте ее с помощью Ctrl Shift Enter

пример рис

не удалось избежать добавления дополнительных столбцов, возникли некоторые ошибки, поэтому на данный момент мы остановились на этом решении.

Ответ №2:

В E4 поле введите формулу :

 =SUMPRODUCT(SUMIFS(I7:I9,H7:H9,D7:D9)*(F7:F9=D4))
 

введите описание изображения здесь