我正在尝试在Google表格中创建一个搜索框,以根据关键字搜索数据。这特定于备件库存系统。每个项目由5列定义,即类型,零件名称,零件编号,价格,库存。 物品的一个例子是“锁缝”,“针刺布什”,“ 229-10312 / 331-2312”,“ 500”,“ 3000”。
在另一张纸上,我试图制作一个搜索框,在其中输入“ Lockstich”,“ Bush”之类的关键字,并显示结果。
我尝试将列名连接成一个字符串,并使用QUERY函数将关键字连接起来并进行匹配,但是出现的问题是,当我尝试搜索“锁缝衬套”时,它没有给出结果,因为它没有包含在字符串“ Lockstitch Needle Bar Bush 229-10312 / 331-2312 500 3000”中
我希望代码单独搜索组合字符串中的每个关键字,并给出与关键字匹配的结果
答案 0 :(得分:3)
您可以尝试这样:
=FILTER(A2:E6, REGEXMATCH(TRANSPOSE(QUERY(TRANSPOSE(LOWER(A2:E6)),,999^99)),
TEXTJOIN("|", 1, SPLIT(LOWER(H1), " "))))
或更严格:
=ARRAYFORMULA(QUERY({A2:E6, TRANSPOSE(QUERY(TRANSPOSE(A2:E6),,999^99))},
"select Col1,Col2,Col3,Col4,Col5
where "&TEXTJOIN(" and ", 1, IF(TRANSPOSE(SPLIT(H1, " "))<>"",
"lower(Col6) contains '"&TRANSPOSE(SPLIT(LOWER(H1), " "))&"'", ))&"", 0))