【问题标题】:Issue in using ISNUMBER SEARCH to find text values over a range of multiple cells in Excel使用 ISNUMBER SEARCH 在 Excel 中的多个单元格范围内查找文本值时出现问题
【发布时间】:2020-12-09 15:59:47
【问题描述】:

我创建了一个公式,可以在单个单元格中搜索预定义列表中的任何单词,如果该单词存在,则输出“是”。这工作正常,但是我现在需要它在一系列单元格中搜索这些值,这会导致否定结果。

公式本身是:

=IF(SUMPRODUCT(--ISNUMBER(SEARCH({"Drug effects","Drug therapy","antagonist"},C2)))>0,"YES","NO")

这将成功在单元格 C2 中搜索这些值,如果找到,将输出“是”。同样,如果我将其更新为搜索 D2 并且它还包含这些值,也会出现“是” - 所有这些都是预期的并且是正确的。

我遇到的问题是我希望它同时搜索 C2 和 D2,如果在其中一个或两个单元格中找到搜索词,则给出“是”。我使用的公式是:

=IF(SUMPRODUCT(--ISNUMBER(SEARCH({"Drug effects","Drug therapy","antagonist"},C2:D2)))>0,"YES","NO")

这会导致“否”,它不应该因为该值同时存在于 C2 和 D2 中。谁能提供一个建议,让这个公式适用于一系列细胞?

【问题讨论】:

  • StackOverflow 用于编程问题,而不是最终用户问题。因此,您的问题在这里是题外话,应发布在适当的最终用户论坛(例如 MS Answers、SuperUser)中。

标签: excel excel-formula ms-office


【解决方案1】:

我认为问题在于{"Drug effects","Drug therapy","antagonist"}C2:D2 都是水平 向量,而Excel 不知道如何将其计算为数组公式。我可以通过将第一个数组 vertical 设置为

来让你的公式起作用

(a) 使用分号代替逗号来分隔数组元素:

=IF(SUMPRODUCT(--ISNUMBER(SEARCH({"Drug effects";"Drug therapy";"antagonist"},C2:D2)))>0,"YES","NO")

(b) 使用TRANSPOSE:

=IF(SUMPRODUCT(--ISNUMBER(SEARCH(TRANSPOSE({"Drug effects","Drug therapy","antagonist"}),C2:D2)))>0,"YES","NO")

只要您的搜索范围C2:D2 是一维和水平的,这将起作用。对于一维和垂直,您可以将TRANSPOSE 应用于搜索范围,例如:

 =IF(SUMPRODUCT(--ISNUMBER(SEARCH({"Drug effects";"Drug therapy";"antagonist"},TRANSPOSE(C2:C3))))>0,"YES","NO")

【讨论】:

  • 只需从逗号切换到分号即可完美运行 - 非常感谢您的帮助
猜你喜欢
  • 2012-11-15
  • 1970-01-01
  • 1970-01-01
  • 2020-01-24
  • 2020-08-31
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多