我正在尝试创建一个包含基于一组类别的类别和来自另一个范围的匹配/正则表达式字符串的列。我的例子是:
我在这里找不到任何已回答的问题,可以向我解释如何做到这一点,如果可以的话。所以在这里问是否有人可以帮助或指出我可能错过的答案!
类别或数据范围都不是静态行数。我想要一个公式,它可以简单地产生这样的东西:
非常感谢任何帮助!
我正在尝试创建一个包含基于一组类别的类别和来自另一个范围的匹配/正则表达式字符串的列。我的例子是:
我在这里找不到任何已回答的问题,可以向我解释如何做到这一点,如果可以的话。所以在这里问是否有人可以帮助或指出我可能错过的答案!
类别或数据范围都不是静态行数。我想要一个公式,它可以简单地产生这样的东西:
非常感谢任何帮助!
尝试:
=ARRAYFORMULA(IFNA(REGEXEXTRACT(E2:E, "["&TEXTJOIN( , 1, B2:B)&"]")))
=INDEX(IFNA(REGEXEXTRACT(E2:E, "["&TEXTJOIN( , 1,
REGEXREPLACE(C2:C, "[\.\*]", ))&"]")))
或者:
=INDEX(IFNA(VLOOKUP(IFNA(REGEXEXTRACT(E2:E, "["&TEXTJOIN( , 1,
REGEXREPLACE(C2:C, "[\.\*]", ))&"]")), {
REGEXREPLACE(C2:C, "[\.\*]", ), B2:B}, 2, 0)))
首先,学习你的正则表达式:https ://github.com/google/re2/wiki/Syntax
将您的 C 列更改为:
.*(A).*
.*(B).*
.*(C).*
然后使用:
=ARRAYFORMULA(IFNA(VLOOKUP(TRIM(FLATTEN(QUERY(TRANSPOSE(
IFNA(REGEXEXTRACT(E3:E, TEXTJOIN("|", 1, C3:C)))),,9^9))), {
IFNA(REGEXEXTRACT(C3:C, TEXTJOIN("|", 1, TRIM(FLATTEN(QUERY(TRANSPOSE(
IFNA(REGEXEXTRACT(E3:E, TEXTJOIN("|", 1, C3:C)))),,9^9)))))), B3:B}, 2, 0)))
或更短:
=INDEX(IFNA(VLOOKUP(
IFNA(REGEXEXTRACT(E3:E, "["&TEXTJOIN("|", 1, C3:C)&"]")), {
IFNA(REGEXEXTRACT(C3:C, TEXTJOIN("|", 1,
IFNA(REGEXEXTRACT(E3:E, "["&TEXTJOIN("|", 1, C3:C)&"]"))))), B3:B}, 2, 0)))