Excel - 跨多列或具有多个值的一列进行多值搜索

标签 excel if-statement multiple-columns vlookup multiple-value

我有 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&","))

要将其付诸实践,请尝试:

enter image description here

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/

相关文章:

MySQL:两个表共享公共(public) "date"列,如何在 JOIN 后将日期一起排序?

r - 使用 R 操作 Excel 电子表格数据并将输出返回到单独的工作表

java - 为什么我不能在 Apache POI 中将一个工作簿链接到另一个工作簿?

c# - 嵌套的 if 条件 vs 多个分离的 if 条件,每个条件都有 return 语句

MySQL第一个条件匹配优先级

html - 我可以为列创建特定规则吗?

excel - 从Excel工作表中读取汉字? (始终返回 "????")

vba - 如何在 Excel 上的单元格中搜索和显示数据?

java - null 检查语句是否在 java 中不起作用

html - Bootstrap 3 中列内容的垂直对齐