Google表格功能可检查包含字符串+评估

时间:2020-03-04 13:26:51

标签: regex google-sheets google-sheets-formula array-formulas textjoin

如果有人可以帮助我,我将非常感激。

我在Google表格中有一个文件,其中有一个列,其中可能有如下信息:

piktogramm_ghs02.jpg,piktogramm_ghs07.jpg,
piktogramm_ghs08.jpg,
piktogramm_ghs09.jpg

我想检查该字段是否包含“ 02”,如果是这种情况,我想用“ 02”填充另一列。 我得到了这样的工作

=IFS(REGEXMATCH(BC2; "02"); "02"; REGEXMATCH(BC2; "07"); "07"; REGEXMATCH(BC2; "08"); "08") 

但是它停止检查是否找到一个匹配的结果。

是否可以从所有这样的图片中以逗号分隔列表?

02,07,08,09

任何帮助将不胜感激:-)

2 个答案:

答案 0 :(得分:2)

您可以使用:

=IF(REGEXMATCH(A2; "02"); "02,";"")&IF( REGEXMATCH(A2; "07"); "07,";"")&IF(REGEXMATCH(A2; "08"); "08,";"")

如果您不喜欢最后一个逗号,可以使用。

=left(IF(REGEXMATCH(A2; "02"); "02,";"")&IF( REGEXMATCH(A2; "07"); "07,")&IF(REGEXMATCH(A2; "08"); "08,";"");len(IF(REGEXMATCH(A2; "02"); "02,";"")&IF( REGEXMATCH(A2; "07"); "07,";"")&IF(REGEXMATCH(A2; "08"); "08,";""))-1)

或者如果所有文件都称为piktogramm_ghs##.jpg,则可以使用SUBSTITUTE。

=SUBSTITUTE(SUBSTITUTE(A2;"piktogramm_ghs";"");".jpg";"")

如果通过扩展替换,不同文件名的数量小于不同数字的数量,这也是一种可能性。

在Google表格中,您还可以使用Regexreplace。

=REGEXREPLACE(A2;"[^\d,]*";"")会删除除数字和逗号之外的任何内容,从而导致与给定示例相同的结果。

答案 1 :(得分:1)

尝试:

=ARRAYFORMULA(REGEXREPLACE(SUBSTITUTE(TEXTJOIN(, 1, 
 IFERROR(REGEXEXTRACT(SPLIT(A:A, ","), "[0-9\.]+"))), ".", ","), ",$", ))

0