【问题标题】:Using Match in Nested If Statement - only works on first IF Statement在嵌套 If 语句中使用匹配 - 仅适用于第一个 IF 语句
【发布时间】:2014-03-19 15:02:54
【问题描述】:

使用 Excel 2007

我有这样的数据:

column 1     column 2     column 3
========     ========     ========
type 10      Type 3       Type 5
Type 2       Type 12      Type 8
Type 4       Type 3       Type 6
Type 1       Type 5       Type 11

并且我想在末尾放置一列来解码 3 列并显示 1-3 中任何类型的列位置。使用带有 MATCH 和嵌套 IF 语句的列。所以解码列看起来像这样:

column 1     column 2     column 3    Type Position
========     ========     ========    ==============
type 10      Type 3       Type 5      Pos 2
Type 2       Type 12      Type 8      Pos 1
Type 4       Type 3       Type 6      Pos 2
Type 1       Type 5       Type 11     Pos 1

我尝试使用类似下面的方法,但它只适用于第一个 IF 语句 - 这仅适用于前两列,因为我构建了语句并确保每个部分都正常工作:

=IF(MATCH(F2,Sheet2!A:A,0),"Position 1",IF(MATCH(G2,Sheet2!A:A,0),"position 2","other"))

由于第一个语句可以显示位置 1,因此认为添加第二个语句会给我位置 2,但事实并非如此。基本上我明白了:

column 1     column 2     column 3    Type Position
========     ========     ========    ==============
type 10      Type 3       Type 5      
Type 2       Type 12      Type 8      Pos 1
Type 4       Type 3       Type 6      
Type 1       Type 5       Type 11     Pos 1

我不知道为什么或者在 excel 中有更好的方法吗?

谢谢

安德鲁

【问题讨论】:

  • 类型 1-3 每行都是唯一的?
  • @Pankaj Jaju 是每行唯一

标签: excel if-statement nested match


【解决方案1】:

我在这里做了一些假设:

  1. 您的第 1、2 和 3 列位于 F、G 和 H 列中。
  2. 您正在尝试将该数据与 Sheet2 A 列中的任何内容进行匹配。

既然如此,试试这样,也许:

=IF(ISNUMBER(MATCH(F2,Sheet2!A:A,0)),"Position 1",IF(ISNUMBER(MATCH(G2,Sheet2!A:A,0)),"position 2",IF(ISNUMBER(MATCH(H2,Sheet2!A:A,0)),"position 3")))

希望这能解决问题...

【讨论】:

  • 很高兴它起作用了 - 由于您是 SO 新手,请记住将其标记为已接受的解决方案。
猜你喜欢
  • 1970-01-01
  • 2018-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多