我有7000多个有关HVAC维修的关键字列表,并且我设法隔离了每个关键字中使用的所有唯一字(3000多个唯一字)。我将挑选出不需要的单词(例如汽车空调),然后使用该列表从本质上构成一个“被禁止”的单词列表。然后如何使用查询“选择A,其中A不包含[禁止的单词范围]”]
我尝试过=query(A:A, "select A where A does not contain B")
,但我不认为这很容易。 (B是禁止的单词范围)
这是我正在进行的项目:https://docs.google.com/spreadsheets/d/1G5tz4Ap6WRJT2ZXJm44vOxueIOJdO32Kcti1rkudB2I/edit?usp=sharing
您可以这样操作:
=QUERY(A2:A, "where not A matches '^"&TEXTJOIN("$|^", 1, B2:B)&"$'", 0)
对于“真实包含”使用:
=FILTER(A2:A, NOT(REGEXMATCH(A2:A, TEXTJOIN("|", 1, B2:C))))
这会更长一些,但是可以解决您可能遇到的所有可能的失败:
=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(
IF(REGEXMATCH(IFERROR(SPLIT(A2:A, " ")), "^"&TEXTJOIN("$|^", 1, B2:C)&"$")=FALSE,
SPLIT(A2:A, " "), "♦"))),,999^99)), "where not Col1 contains '♦'", 0))