Формула массива для поиска клиентов с указанным типом услуги в течение одного года - PullRequest
0 голосов
/ 19 сентября 2019
ID  Service     Year    Mark
12    A         2016    FALSE
12    B         2016    FALSE
12    A         2017    TRUE
13    A         2016    TRUE
13    A         2016    TRUE
14    A         2017    FALSE
14    B         2017    FALSE
14    A         2018    TRUE

У меня есть таблица с перечнем клиентов, типом обслуживания и годом обслуживания.Я ищу формулу массива, чтобы найти только тех клиентов, которые имели только тип обслуживания «А» в течение одного года.В приведенной выше таблице я указал эти строки с помощью TRUE.

. Я могу сделать это достаточно легко с помощью сводной таблицы или некоторого кода VBA за сценой, но я стремлюсь вместо этого использовать формулу массива.Любые предложения будут оценены.

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Предположим, у вас есть следующие именованные диапазоны :

  • ID , являющиеся данными в столбце A;
  • Сервис - данные в столбце B;
  • Год - данные в столбце C.

Можно ввести следующую формулу массива (подтверждается нажатием Ctrl + Shift + (введите ) в ячейку D2 и перетащите его вниз, чтобы применить к остальным:

{=SUM(--(IF((Year=C2)*(ID=A2),Service,"A")="A"))=ROWS(ID)}

Solution

1 голос
/ 19 сентября 2019

Вам не нужны Array Formula.

If и Countifs функции могут дать вам ответ.

enter image description here

re-edit

Спасибо OP и рекомендация @ JerryW.Я перередактирую формулу как: =COUNTIFS(A:A,A2,C:C,C2)=COUNTIFS(A:A,A2,C:C,C2,B:B,"A")

...