【问题标题】:Find the cell reference in a text string in a range在范围内的文本字符串中查找单元格引用
【发布时间】:2017-01-22 12:50:15
【问题描述】:

我有一个问题我已经尝试解决了几天,但我有点绝望,因为我似乎找不到解决方案。

情况是我想知道Apple的单元格引用,在下面的例子中:

A栏

  1. 猕猴桃

  2. 苹果橙

  3. 葡萄柚猕猴桃

  4. 香蕉菠萝

  5. 梨柠檬

  6. 苹果猕猴桃

所以我填公式的时候,结果是A2和A6都能找到苹果。

我确实发现我应该使用该功能:

=ADDRESS(MATCH($C$1,$A$1:$A$6,0)+ROW(x)-1,COLUMN(x),4)

但是,我不知道在 rowcolumn 部分填写什么。由于需要进行查找,在一个范围内并应该在一个文本字符串中找到。查找

希望你能帮帮我!

【问题讨论】:

  • 也许使用 VBA 宏是实现这一目标的更好方法,而不是“普通”的 excel 公式。

标签: excel function


【解决方案1】:

我看到了一些可能会让你重回正轨的事情。

首先,“匹配”函数能够支持通配符,因此您可以使用MATCH("*"&$C$1&"*",$A$1:$A$6,0),而不是MATCH($C$1,$A$1:$A$6,0)

其次,由于您需要多个结果,因此不适合单个单元格中的公式。相反,您可以通过添加一列来确定同一行中的单元格是否与您的关键字匹配来解决问题。我喜欢让这样的公式返回 1 或 0,这样它们就可以整齐地总结。您可以在 D1 中使用这样的公式并复制下来。 =1-1*ISERR(FIND($C$1,A1))

最后,如果要将结果整理到单个单元格中,可以使用“textjoin”公式。因此,假设您在 E 中添加了一个列,例如 =IF(D1=1,"A"&ROW(A1),""),表示“A2”或“A6”或空白,那么您可以使用论坛 =TEXTJOIN(", ",TRUE,$E$1:$E$6) 在单个单元格中描述您的结果。

【讨论】:

    【解决方案2】:

    除了返回地址的问题,还有区分“apple”和“pineapple”的问题。下面的公式两者兼而有之。

    myRng 是您的信息所在的范围。 您的字符串格式如您在示例中所示(空格分隔)。

    请注意,在公式中,the Fruit 前后各有一个空格,范围内的每个条目前后也各有一个空格。

    将您的数据放在 A 列,将“水果”放在 C1 中,在任何单元格中尝试这个公式,然后填写直到看到空白:

    =IFERROR(ADDRESS(AGGREGATE(15,6,1/ISNUMBER(SEARCH(" " & $C$1 & " "," " & myRng & " "))*ROW(myRng),ROWS($1:1)),COLUMN(myRng)),"")
    

    Search 被使用,因为它不区分大小写。如果您想要区分大小写的匹配,请使用Find

    Aggregate 允许使用Small 函数并忽略错误。它所作用的数组将是一个由连续错误值 (DIV/0) 和行号组成的数组。

    我建议您使用公式评估工具来检查公式的工作原理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多