EXCEL 将新列添加到嵌套的 if 语句中
EXCEL adding new columns into nested if statement
=IF(
Payment_Rules = Save_Only,
IF(
VLOOKUP(
F7 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
5
)
)
),
FALSE
) < D6,
D6,
VLOOKUP(
F7 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
5
)
)
),
FALSE
)
),
VLOOKUP(
F7 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
5
)
)
),
FALSE
)
)
到目前为止,我已经像这样在我的 excel 文件中嵌套了 if 语句,它工作正常,但是工作簿中添加了新列,因此我必须稍微调整此代码以覆盖新列。(添加了第 AC:AF 列)
=IF(
Payment_Rules = Save_Only,
IF(
VLOOKUP(
F6 & $B,
$Y:$AF9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
IF(
$B = $AC,
5,
IF(
$B = $AD,
6,
IF(
$B = $AE,
7,
IF(
$B = $AF,
8
)
)
)
)
)
)
),
FALSE
) < D5,
D5,
VLOOKUP(
F6 & $B,
$Y:$AF9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
IF(
$B = $AC,
5,
IF(
$B = $AD,
6,
IF(
$B = $AE,
7,
IF(
$B = $AF,
8
)
)
)
)
)
)
),
FALSE
)
),
VLOOKUP(
F6 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
IF(
$B = $AC,
5,
IF(
$B = $AD,
6,
IF(
$B = $AE,
7,
IF(
$B = $AF,
8
)
)
)
)
)
)
),
FALSE
)
)
这是我的新代码,但它给了我#REF!错误。我无法弄清楚出了什么问题。由于原始代码工作正常,我知道调用引用没有任何问题。我该如何解决这个错误?
谢谢!
将 VLOOKUP 中的所有 IF() 更改为 MATCH:
=MATCH($B,$Y:$DD,0)
除非您的列多于 DD,否则无需更新。
=IF(Payment_Rules=Save_Only,IF(VLOOKUP(F7&$B,$Y:$DD9,
MATCH($B,$Y:$DD,0),FALSE)<D6,D6,VLOOKUP(F7&$B,$Y:$DD9,
MATCH($B,$Y:$DD,0),FALSE)),VLOOKUP(F7&$B,$Y:$DD9,
MATCH($B,$Y:$DD,0),FALSE))
=IF(
Payment_Rules = Save_Only,
IF(
VLOOKUP(
F7 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
5
)
)
),
FALSE
) < D6,
D6,
VLOOKUP(
F7 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
5
)
)
),
FALSE
)
),
VLOOKUP(
F7 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
5
)
)
),
FALSE
)
)
到目前为止,我已经像这样在我的 excel 文件中嵌套了 if 语句,它工作正常,但是工作簿中添加了新列,因此我必须稍微调整此代码以覆盖新列。(添加了第 AC:AF 列)
=IF(
Payment_Rules = Save_Only,
IF(
VLOOKUP(
F6 & $B,
$Y:$AF9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
IF(
$B = $AC,
5,
IF(
$B = $AD,
6,
IF(
$B = $AE,
7,
IF(
$B = $AF,
8
)
)
)
)
)
)
),
FALSE
) < D5,
D5,
VLOOKUP(
F6 & $B,
$Y:$AF9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
IF(
$B = $AC,
5,
IF(
$B = $AD,
6,
IF(
$B = $AE,
7,
IF(
$B = $AF,
8
)
)
)
)
)
)
),
FALSE
)
),
VLOOKUP(
F6 & $B,
$Y:$AC9,
IF(
$Z = $B,
2,
IF(
$B = $AA,
3,
IF(
$B = $AB,
4,
IF(
$B = $AC,
5,
IF(
$B = $AD,
6,
IF(
$B = $AE,
7,
IF(
$B = $AF,
8
)
)
)
)
)
)
),
FALSE
)
)
这是我的新代码,但它给了我#REF!错误。我无法弄清楚出了什么问题。由于原始代码工作正常,我知道调用引用没有任何问题。我该如何解决这个错误?
谢谢!
将 VLOOKUP 中的所有 IF() 更改为 MATCH:
=MATCH($B,$Y:$DD,0)
除非您的列多于 DD,否则无需更新。
=IF(Payment_Rules=Save_Only,IF(VLOOKUP(F7&$B,$Y:$DD9,
MATCH($B,$Y:$DD,0),FALSE)<D6,D6,VLOOKUP(F7&$B,$Y:$DD9,
MATCH($B,$Y:$DD,0),FALSE)),VLOOKUP(F7&$B,$Y:$DD9,
MATCH($B,$Y:$DD,0),FALSE))