我有 7 个标准 = TMO-1 到 TMO-7
我有两种搜索场景。
我有一个 excel 与 TMO-6、TMO-201、TMO-67 等(有些有很多值)
或者我将单元格拆分,以便所有值都在单个单元格中,例如 [TMO-6][TMO-201][TMO-67] 等
我尝试了每个方程的两个方程。对于我尝试过的第一个(首选解决方案):
=IF(IFERROR(SEARCH("TMO-1",AB8),0) > 0, "TMO-1",IF(IFERROR(SEARCH("TMO-2",AB8),0) > 0, "TMO-2", "false"))
问题是它会找到以 TMO-1 开头的任何内容,因此如果 TMO-12 在单元格中,则会显示 true。
对于选项 2,我尝试过:
=IF(AB9:AR9=TMO-1, TMO-1, IF(AB9:AR9=TMO-2, TMO-2, IF(AB9:AR9=TMO-3, TMO-3,IF(AB9:AR9=TMO-4, TMO-4, IF(AB9:AR9=TMO-5, TMO-5, IF(AB9:AR9=TMO-6, TMO-6, IF(AB9:AR9=TMO-7, TMO-7, "N/A")))))))
我收到错误#spill
有什么想法吗?
最佳答案
假设:
- ms365(因此出现
#SPILL
错误); - 连接值或分隔值之间的选项(因此
AB8
反对AB9:AR9
); - 所有数字都以
TMO-
为前缀; - 您正在寻找顺序 (1-7) 中的第一个匹配项;
- 如果没有找到匹配项,你想返回“Not Found”。
首先想到的是将逗号分隔的数据保留在 AB8
中,并使用一个简单的技巧将分隔符与序列连接起来:
=ISNUMBER(FIND("-"&SEQUENCE(7)&",",A1&","))
要将其付诸实践,请尝试:
B1
中的公式:
=IFERROR(MATCH("X",IF(ISNUMBER(FIND("-"&SEQUENCE(7)&",",A1&",")),"X"),0),"Not Found")
其他选项:
=@IFERROR(SORT(FILTERXML("<t><s>"&SUBSTITUTE(A1,", ","</s><s>")&"</s></t>","//s[substring(.,5)<8]")),"Not Found")
或者,使用内部测试版功能:
=LET(X,MIN(--DROP(TEXTSPLIT(A1,"-",", "),,1)),IF(X<8,"TMO-"&X,"Not Found"))
关于Excel - 跨多列或具有多个值的一列进行多值搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72144136/