【发布时间】:2020-03-25 18:48:28
【问题描述】:
假设我有一个如下所示的电子表格:
Name D-List
--------------------- ------
Arnold Schwarzenegger
Bruce Willis
Dolph Lundgren
Dwayne Johnson
Jason Statham
Keanu Reeves
Samuel L. Jackson
Sylvester Stallone
Vin Diesel
对于D-List 列,我想计算包含字符串"d" 的后续行数。如果该行不包含"d",那么我希望它返回一个空字符串。
对于任何给定的行,我都可以使用以下伪公式:
=IF(REGEXMATCH(A<row>, "d"), COUNTIF(A<row>, "*d*"), "")
Name D-List
--------------------- ------
Arnold Schwarzenegger 1
Bruce Willis
Dolph Lundgren 2
Dwayne Johnson 3
Jason Statham
Keanu Reeves
Samuel L. Jackson
Sylvester Stallone
Vin Diesel 4
我可以使用INDIRECT 和ROW 将其转换为可以在行之间复制的表达式:
=IF(REGEXMATCH(A2, "(?i)d"), COUNTIF(INDIRECT("A2:A" & ROW(A2)), "*D*"), "")
Name D-List
--------------------- ------
Arnold Schwarzenegger 1
Bruce Willis
Dolph Lundgren 2
Dwayne Johnson 3
Jason Statham
Keanu Reeves
Samuel L. Jackson
Sylvester Stallone
Vin Diesel 4
但是,如果我尝试将其粘贴在 ARRAYFORMULA 中,则不起作用。
=ARRAYFORMULA(IF(REGEXMATCH(A2:A, "D"), COUNTIF(INDIRECT("A2:A" & ROW(A2:A)), "*D*"), ""))
Name D-List
--------------------- ------
Arnold Schwarzenegger
Bruce Willis
Dolph Lundgren 1
Dwayne Johnson 1
Jason Statham
Keanu Reeves
Samuel L. Jackson
Sylvester Stallone
Vin Diesel 1
我错过了什么?
【问题讨论】:
标签: regex if-statement google-sheets google-sheets-formula array-formulas