【问题标题】:Excel find cells from range where search value is within the cellExcel从搜索值在单元格内的范围中查找单元格
【发布时间】:2012-11-15 06:21:14
【问题描述】:

我再次在 Google 上苦苦寻找答案,但我确信它一定存在。对不起,如果我遇到新手:我似乎在 Excel 方面!

我想做的是告诉它搜索一个范围,然后在该范围内查找包含我的搜索功能中的文本的单元格。除了 TRUE 或 >1(如果匹配,显然)之外,我不需要任何类型的结果。

在这种情况下,我正在搜索一个由年份组成的 RANGE,每个单元格中有一年,并尝试从一个单元格中的年份列表中查找该范围内包含年份的单元格。

基本上我想使用类似于我认为的搜索功能的功能。

=SEARCH(text to find, find within text)

但是,我希望它做相反的事情并在源单元格中查找包含某些文本的单元格:

=SEARCH(find within text, text to find)

或者,更具体地说

=SEARCH("2001,2002,2003,2004,2005", "2003")

如果不使用宏,这可能吗?如果可能的话,我宁愿避免它。所有有问题的单元格都被格式化为文本。

我一直在尝试使用 COUNTIF,但它再次与我需要的相反。

对不起,如果这个问题不清楚。 希望有人能提供帮助,在此先感谢。

【问题讨论】:

  • 我刚刚读了一遍,这似乎是胡言乱语,抱歉。

标签: excel


【解决方案1】:

我确信有更好的方法,但如果我理解正确,您可以尝试将SUM 与数组公式结合使用(输入Ctrl+Shift+Enter):

=IF(SUM(IFERROR(FIND(A1:E1,G1),0))>0, "FOUND", "NOT FOUND")

这里,A1:E1 包含单个年份,G1 包含单个年份单元格。这将在范围内的每个单元格上运行FIND,如果在目标单元格中​​找到匹配项,则返回一个位置,否则返回 0(IFERROR 是 2007 函数 - 如果您没有 Excel 2007,我们可以重写)。然后将 FIND 函数的结果相加,如果大于 0,则表示您在某处找到了匹配项。

【讨论】:

  • 不错的答案!这再次表明了 excel 中的数组公式是多么奇怪......
  • @K_B 谢谢 - 数组确实让事情变得有趣:)
  • 您可以使用 COUNT 保存函数,即 =IF(COUNT(FIND(A1:E1,G1)),"Found","Not Found") - 仍然需要“数组条目” - 或者使用我的老朋友 LOOKUP 获取非数组版本 =IF(ISNA(LOOKUP(2^15,FIND(A1:E1,G1))),"Not Found","Found")
  • @barryhoudini 啊非常酷 - 我不知道 COUNT 正确处理了 N/A# 值 - 再次感谢你教给我一些新东西 :) 也很棒 LOOKUP
  • @barryhoudini:您的查找选项非常好。工作得很好,因为我需要尝试避免使用数组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 1970-01-01
相关资源
最近更新 更多