2015-01-04 3 views
0

Хорошо, я огромный нуб с такими вещами, и я не знаю, с чего начать. Google помощь как-то не хватает: /. Я хочу сделать conditionnal подсчет на одной колонке:Электронная таблица Google, передающая параметр

COUNTIF(A1:A10, "3") 

будет возвращать число 3 в клетках от А1 до А10. Теперь проблема заключается в том, что в каждой ячейке могут быть многозначные значения: «1; 3; 5». Я могу легко сопоставить это с помощью регулярного выражения:

B1 = REGEXEXTRACT(A1,"3") 

Затем повторите и суммируйте по второй колонке. Теперь, как я могу это сделать, используя одну формулу?

COUNTIF(A1:A10, REGEXEXTRACT(A1:A10,"3")) 

Это не работает, потому что regexextract принимает в качестве входных данных одну ячейку. Я хотел бы сказать, что использовать одну и ту же ячейку, чем в countif, но я не знаю, как это сделать.

ответ

0

вы можете иметь regextract, работающий над массивом. Например:

=ArrayFormula(sum(--regexmatch(A2:A&"", "3"))) 

должен сосчитать все тройки (либо одного, либо в клетках с множественными значениями), но в случае, если у вас есть несколько троек в одной клетке, то, возможно, придется использовать что-то вроде этого:

=ARRAYFORMULA(sum(len(A:A)-len(SUBSTITUTE(A:A,"3","")))/len("3")) 
0

Это должно работать:

=COUNTIF(SPLIT(JOIN(";",A:A),";"),"3") 
Смежные вопросы