Как использовать Excels COUNTIF в каждой n-й ячейке и сохранить функциональные символы подстановки

Я искал везде, где в сети, и все, кажется, просто предлагают альтернативу, такую ​​как SUMPRODUCTОднако я хочу использовать подстановочные знаки. Подстановочные знаки прекрасно работают в COUNTIF но не в других альтернативах, которые я видел.

Как я могу искать каждую n-ю ячейку в столбце и возвращать количество раз, когда точная подстрока найдена (т.е. COUNTIF(range, string)где диапазон - каждая n-я ячейка и строка может быть "*somestring", "some string*", "*somestring*" или же "some?string")

1 ответ

Решение

Да, SUMPRODUCT это вариант - допустим, вы хотите, чтобы в каждой 5-й ячейке, начиная с A2 (то есть A2, A7, A12 и т. д.), вы можете использовать эту формулу для подсчета случаев "текста" в этих ячейках (возможно, в другом тексте)

=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,ISNUMBER(SEARCH("text",A2:A1000))+0)

измените 5 на n, которое вы хотите - оно всегда начинается с первой ячейки в диапазоне, если вы используете этот синтаксис.

ISNUMBER(SEARCH часть дает вам эквивалент поиска "подстановочный знак" (вы не можете использовать реальные подстановочные знаки здесь)

Обновить

Если вы хотите получить эквивалент "text *", используйте левую функцию, например

=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,(LEFT(A2:A1000,LEN("text"))="text")+0)

и RIGHT может использоваться для эквивалента "*text".

Если вы хотите эквивалент "t? Xt", это было бы сложнее. Функция ПОИСК в первой формуле позволит вам искать "t? Xt", но это будет среди другого текста, поэтому, если вы хотите, чтобы все содержимое было "t? Xt", вы могли бы добавить еще одну проверку, например

=SUMPRODUCT((MOD(ROW(A2:A1000)-ROW(A2),5)=0)+0,ISNUMBER(SEARCH("t?xt",A2:A1000))+0,(LEN(A2:A1000)=4)+0)

Это будет учитывать только те ячейки, которые содержат "текст", "текст", "t5xt" и т. Д., Но не "text2"

Другие вопросы по тегам