使用了这样的公式:
=IF(L63=$AA$3;2;IF(L63=$AA$4;3;IF(L63=$AA$5;4;IF(L63=$AA$6;5;IF(L63=$AA$7;6;IF(L63=$AA$8;7;IF(L63=$AA$9;8;IF(L63=$AA$10;9;0))))))))
但现在需要检查更多,否则上面的公式不能起作用(if
s太多了。)
尝试过这种公式:
=IF(L25=$AA$3;2;"")&IF(L25=$AA$4;3;"")&IF(L25=$AA$5;4;"")&IF(L25=$AA$6;5;"")&IF(L25=$AA$7;6;"")&IF(L25=$AA$8;7;"")&IF(L25=$AA$9;8;"")&IF(L25=$AA$10;9;"")&IF(L25=$AA$11;10;"")&IF(L25=$AA$12;11;"")&IF(L25=$AA$13;12;"")&IF(L25=$AA$14;13;"")&IF(L25=$AA$15;14;"")&IF(L25=$AA$16;15;"")&IF(L25=$AA$17;16;"")&IF(L25=$AA$18;17;"")&IF(L25=$AA$19;18;"")&IF(L25=$AA$20;19;"")
但是有问题。例如L25=$AA$3
(true)和单元格(例如单元格M1
包含上述公式)显示数字2
。那没问题。但是,如果在单元格M2
中写入公式=IF(M1=2;2;0)
,则会显示数字0
而不是2
。
问题在哪里?
如何在单元格2
中获取号码M2
?
可能有替代解决方案吗?
答案 0 :(得分:3)
使用命名范围(比如arrLook
包含一列单元格A> H并且紧接着右边2> 10,这应该适用于L63中的任何A> H:
= VLOOKUP(L63,arrLook,2,FALSE)
在M2中,当L63包含A(arrLook
中的第一项)时。
编辑以澄清
如果你想要更多“条件”,只需扩展数组即可 PS请使用分号代替逗号(以符合您的区域设置)。
答案 1 :(得分:0)
翻译您的特定问题(查找值并返回递增的数字),您可以使用MATCH公式:
=IF(COUNTIF($AA$3:$AA$20,L25)=0,"",MATCH(L25,$AA$3:$AA$20,0)+1)
一般来说,您可以创建一个查找表,然后使用VLOOKUP函数。这很有用,因为它可以返回非增量数字的结果:
__AA__ _AB_
1
2
3 Value1 2
4 Value2 3
5 Value2 4
6 Value2 5
7 Value2 6
8 Value2 7
9 Value2 8
10 Value2 9
11 Value2 10
12 Value2 11
13 Value2 12
14 Value2 13
15 Value2 14
16 Value2 15
17 Value2 16
18 Value2 17
19 Value2 18
20 Value2 19
公式:
=IF(COUNTIF($AA$3:$AA$20,L25)=0,"",VLOOKUP(L25,$AA$3:$AB$20,2,FALSE))
注意:您可能需要将逗号更改为分号;为了使公式适用于您的Excel版本。