【问题标题】:Using arrays to look for specific last characters in excel使用数组在 excel 中查找特定的最后一个字符
【发布时间】:2015-02-20 08:54:43
【问题描述】:

我有两个 excel 列:A 列包含数字,B 列包含值。

我想在 A 列中查找特定单元格,该单元格包含一个以特定 2 位数字结尾的数字 - 并在 B 列上复制其邻居的值。

我使用了数组和函数 RIGHT,但不幸的是没有成功。

例如,这些是列:

 A     B
1234   1
1545   2
179    3

单元格 C1 包含:

=(RIGHT(A:A,2)*1 = 45)*B:B

我点击了Ctrl+Shift+Enter,它应该返回 2,但由于某种原因它不起作用。 奇怪的是它确实适用于 '34' 和第一行。

你能帮我确定问题吗?

【问题讨论】:

  • 为了清楚起见,您有一个 2 位数字,并且您想将该 2 位数字与所有 A 列的最后 2 位数字进行比较,如果匹配,您想显示下一列对应的值。我有 2 个问题。 1:您打算在 C 列的每个单元格中都有这个公式,还是只有一个公式来查看所有这些? 2:如果你想让 1 个公式查看所有 A 列,如果匹配超过 1 个会发生什么?
  • 嗨@Dubison,1。我想要这个公式只在单元格C1上。 2. 我确保没有重复。
  • 请在下面查看我的答案。这就是你想要的。
  • 您可以使用=LOOKUP(45,RIGHT(A:A,2)*1,B:B),正如我在下面的回答中提到的那样。如果成功请告诉我。

标签: arrays excel excel-formula


【解决方案1】:

您可以使用下面接受三个参数的 IF 公式。

=IF(RIGHT(A:A,2)*1 = 45,B1,66)
  1. 第一个参数:条件
  2. 第二个参数:如果为真则复制相邻单元格值
  3. 第三个参数:如果为 false 则适当显示值

【讨论】:

  • 谢谢,但此解决方案仅适用于第二行。我正在寻找一个通用公式
【解决方案2】:

在@TechnoCrat 的回答之上,如果您只想使用 1 个单元格,它将遍历所有 columnA 并返回 columnB 中的相应值,您可以使用以下公式。这将导致图片。

我使用“$C$1”作为变量,您可能希望在其中输入要搜索的 2 位数字,或者您可以简单地在代码中将其更改为您想要的数字。

=LOOKUP($C$1,RIGHT(A:A,2)*1,B:B)

【讨论】:

  • 成功了。出于某种原因,当我尝试为更多单元格复制公式时(就像您在评论中提到的那样)它不起作用,所以我最终使用了 INDEX MATCH。非常感谢!
  • 好的,感谢您的反馈。如果你想使用它,请告诉我你面临什么样的问题,否则祝你的索引匹配好运:P
猜你喜欢
  • 2016-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
相关资源
最近更新 更多