Regex 如何在数组公式中执行多个搜索?
我正在努力让一些公式发挥作用,这将大大提高我的工作生活质量。我希望公式对“标题”列和“SKU”列中的关键字执行2次搜索,然后根据我在第二个选项卡中找到的关键字返回结果 上面的截图是我的关键。如果产品在标题列中包含任何关键字,则会自动指定相应的类别 在下面的示例屏幕截图中,我使用公式进行1次搜索。它根据关键字中的关键字列搜索标题列B,如果该单词存在于标题中,它将根据结果所在的行返回结果 我想要实现的是在同一列中进行多个搜索。我希望能够首先按标题进行搜索,如果没有返回结果,那么我希望它通过SKU列根据关键列C&D中的关键字和类别进行搜索 在下面的屏幕截图中,我尝试将其包装在IF语句中Regex 如何在数组公式中执行多个搜索?,regex,if-statement,google-sheets,array-formulas,google-sheets-formula,Regex,If Statement,Google Sheets,Array Formulas,Google Sheets Formula,我正在努力让一些公式发挥作用,这将大大提高我的工作生活质量。我希望公式对“标题”列和“SKU”列中的关键字执行2次搜索,然后根据我在第二个选项卡中找到的关键字返回结果 上面的截图是我的关键。如果产品在标题列中包含任何关键字,则会自动指定相应的类别 在下面的示例屏幕截图中,我使用公式进行1次搜索。它根据关键字中的关键字列搜索标题列B,如果该单词存在于标题中,它将根据结果所在的行返回结果 我想要实现的是在同一列中进行多个搜索。我希望能够首先按标题进行搜索,如果没有返回结果,那么我希望它通过SKU列根
IF(TITLESEARCH=""),(SKUSEARCH),(TITLESEARCH)
我得到的结果似乎适用于IF语句的第一部分。它返回的结果对于IF语句的第一部分是正确的,但是第二部分似乎工作不正常,我不知道为什么。它应该分配的配件类别,它只是给我假
如果有人想看一下,这里有一个电子表格的链接。我已经为此绞尽脑汁好几天了,我觉得我已经走了很长的路
我对谷歌工作表和excel公式非常陌生,尤其是在这个级别上,所以请温柔一点。我觉得我犯的错误可能是显而易见的
这就是我的公式的基础
=IF(ARRAYFORMULA(INDEX('Array Key'!B:B,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!A:A,B234)),0)))="",(ARRAYFORMULA(INDEX('Array Key'!D:D,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!C:C,A234)),0),(ARRAYFORMULA(INDEX('Array Key'!B:B,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!A:A,B234)),0))))))))
删除所有公式,只需使用:
=ARRAYFORMULA(IF(LEN(B2:B), IF(IFERROR(VLOOKUP(REGEXEXTRACT(A2:A,
TEXTJOIN("|", 1, 'Array Key'!C3:C)),
'Array Key'!C3:D, 2, 0))="",
IFERROR(VLOOKUP(REGEXEXTRACT(B2:B,
TEXTJOIN("|", 1, 'Array Key'!A3:A)),
'Array Key'!A3:B, 2, 0)),
IFERROR(VLOOKUP(REGEXEXTRACT(A2:A,
TEXTJOIN("|", 1, 'Array Key'!C3:C)),
'Array Key'!C3:D, 2, 0))), ))
嘿,你能解释一下怎么让它工作吗?我试着把它粘贴到C2单元格,然后把它拖下来,结果留下了一大堆空白单元格。我不知道这是怎么回事?对不起,我是个大傻瓜。这是一个真正的公式。例如,单细胞解决方案。无需拖拽。您只需将其粘贴到C2中并完成—请看这里:这太棒了。非常感谢你!如果我向数组键添加更多术语,它会填充主工作表中的列吗?