Я прочитал несколько других вопросов, связанных с ответами, включая упомянутые предложения, но они не похожи по моим требованиям, или у меня возникли проблемы с пониманием того, о чем они спрашивают.
У меня есть база данных компаний, а также контактная информация их сотрудников. У каждого контактного лица есть своя строка, поэтому компания может быть указана несколько раз, если у нее несколько контактов. Всего у меня около 6000 контактов, которые я отслеживаю.
Я рассылаю уведомления для выбора контактов и использую базу данных для отслеживания результатов. Компании и их соответствующие контакты указаны по коду CSI в зависимости от предоставляемых ими услуг.
Эта часть базы данных выглядит следующим образом;
Мне нужно подсчитать количество уникальных компаний, которые имеют запись «Да» в столбце F, соответствуют номеру CSI 024119 и имеют букву «а» в столбце K. Критерии для столбцов F, J и K просты. но я не знаю, как посчитать компанию только один раз, если у нее несколько записей.
На скриншоте «AAR Incorporated» следует учитывать только 1x вместо 3x.
Используя эту формулу, я могу подсчитать количество уникальных компаний, соответствующих одному и тому же коду CSI, но это все.
=SUM(--(LEN(UNIQUE(FILTER($L$8:$L$10000,$J$8:$J$10000=J87,"")))>0))
Ячейка J87 содержит номер основной надписи 024119.
Я не знаю, как ввести другие критерии, например формулу COUNTIFS для столбцов F и K.
Учитывая данные на снимке экрана, формула должна возвращать результат 1, поскольку AAR Incorporated — единственная компания, у которой есть «Да» в столбце F, соответствует 024119 в столбце J и есть буква «а» рядом с названием.
Я предполагаю, что 024119 в столбце J
— это текстовое, а не числовое значение.
=IFERROR(ROWS(UNIQUE(FILTER($L$8:$L$10000,($J$8:$J$10000 = "024119")*($K$8:$K$10000 = "a")*($F$8:$F$10000 = "yes")))),0)
Результат:
Вы можете умножать FILTER
критерии. фильтр
Как настроить функцию фильтра для условия ИЛИ. Если столбец K = «a», «r» или «p»?
Думаю, я понял; =ЕСЛИОШИБКА(СТРОКИ(УНИКАЛЬНО(ФИЛЬТР($L$8:$L$10000,($J$8:$J$10000=J87)*($K$8:$K$10000 = "a")+($K$8 :$K$10000 = "r")+($K$8:$K$10000 = "p")))),0) Я использовал + , который работает, но не знал, есть ли более простой способ способ.
Протестировал его, и он включает в подсчет все, что имеет букву «r» или «p», даже если оно не соответствует коду CSI.
Вы использовали фильтр типа a*b+c+d, тогда как следует использовать фильтр a*(b+c+d). Попробуйте ($J$8:$J$10000=J87)*(($K$8:$K$10000 = "a")+($K$8:$K$10000 = "r")+($K$8:$K$10000 = "p"))
в качестве критерия фильтра.
Ах, ок, я вижу. Большое спасибо! Да, забыл упомянуть, что 024119 — текстовый, а не числовой.