我有一行文字在谷歌工作表,其中包含了几种品牌。
单元格B2中的文本: brandweberbrandspringcategoryboschbrand
列D2中的结果必须是: weber bosch
我尝试使用这个公式:=REGEXEXTRACT(B2;"brandbrand")
但它只找到第一个brand....brand是否有人可以帮助我找到文本中的所有brand....brand并将文本写在brand....brand之间
感谢任何人的帮助!谢谢:)
发布于 2020-10-29 18:59:19
假设不同的标记之间有空格(如您的示例所示),您可以在B2中尝试
=textjoin(", ", 1, ArrayFormula(iferror(regexextract(split(regexreplace(A2, "\](\s)\[","]_["), "_"), "\[brand\](.*?)\[brand\]"))))如果不是,那么品牌的数量是固定的(例如,2个品牌)你可以试试
=regexextract(A2, rept(".*\[brand\](.*?)\[brand\]", 2))如果字符串中存在的品牌数量是可变的,则可以计算存在的品牌数量,并将其用作rept()函数中的第二个参数。
=regexextract(A2, rept(".*\[brand\](.*?)\[brand\]", (len(A2)-len(substitute(A2, "[brand]",)))/(2*LEN("[brand]"))))如果您需要将输出放在单个单元格中(如第一个公式所示),您可以换行join(",",...)围绕着最后两个公式。
希望这能帮上忙?
https://stackoverflow.com/questions/64588911
复制相似问题