Этот вопрос задавался ранее, и, кажется, ответ всегда складывается из двух COUNTIF
. Это хорошо для большинства приложений, но не будет работать для меня.
У меня есть столбец, который может содержать 0, 1 или более действительных токенов, а также 0, 1 или более недействительных токенов. Например, если A, B и C являются действительными токенами, а D, E и F являются недействительными, у меня могут быть данные, которые выглядят как в столбце "Token" в таблице ниже. Я добавил столбцы "ValidCount" и "Valid", чтобы показать разные интерпретации.
╔══════╦═══════╦════════════╦═══════╗ ║ Row# ║ Tokens║ ValidCount ║ Valid ║ ╠══════╬═══════╬════════════╬═══════╣ ║ 1 ║ A, E ║ 1 ║ True ║ ║ 2 ║ ║ 0 ║ False ║ ║ 3 ║ B ║ 1 ║ True ║ ║ 4 ║ F, G ║ 0 ║ False ║ ║ 5 ║ A,B,C ║ 3 ║ True ║ ║ 6 ║ C ║ 1 ║ True ║ ╚══════╩═══════╩════════════╩═══════╝
Я могу сосчитать экземпляры действительных токенов с помощью следующего (где необработанные данные находятся на листе с именем "Raw", токены находятся в столбце AD, а соответствующий токен находится в ячейке A30 на листе с именем "Summary"):
=COUNTIF(Raw!$AD$2:$AD$79,CONCATENATE("*",Summary!$A30,"*"))
Проблема в том, что если я делаю это для каждого действующего токена и суммирую их, я в итоге считаю общее количество действительных токенов. Я хочу получить количество ячеек, по крайней мере, с одним действительным токеном. Используя приведенный выше пример, правильный ответ - 4, а не 6.
То, что я хочу сделать, это использовать функцию OR
как это:
=COUNTIF(Raw!$AD$2:$AD$79,OR(CONCATENATE("*",Summary!$A30,"*"),CONCATENATE("*",Summary!$A31,"*"),[...snip...]))
но это дает 0.
Есть ли способ сделать это? В идеале не прибегая к VBA.