Как использовать 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"