输入以下代码后,我将使用以下代码查找地址并返回Sheet2上的E列:
=INDEX('Sheet2'!$A$1:$N$7755,MATCH(1,('Sheet2'!A:A=$C$4)*('Sheet2'!B:B=$I$4)*('Sheet2'!F:F=$G$4)*('Sheet2'!$C$2:$C$7755<=$B$4)*('Sheet2'!$D$2:$D$7755>=$B$4),0),5)
在Sheet2上,A是街道名称,B是邮政编码,F是城市,C是该街区的最低地址,D是该街区的最高地址。
A B C D E F
1ST ST 12345 100 399 N City1
1ST ST 12346 100 299 N City2
1ST ST 12347 101 522 N City3
1ST ST 12347 600 899 E City3
但是,当我使用此选项时,搜索650 1st St,City3 12347将返回N而不是E(试图获得第5列)。
这似乎是公式的> =和<=部分的一个问题,但是我不确定。有人看到导致问题的原因吗?
答案 0 :(得分:3)
请注意INDEX/MATCH
中使用的范围。 AFAIK,范围应全部相同。
有两种解决方法,请选择以下内容。
=INDEX('Sheet2'!$A$2:$N$7755,MATCH(1,('Sheet2'!A$2:A$7755=$C$4)*('Sheet2'!B$2:B$7755=$I$4)*('Sheet2'!F$2:F$7755=$G$4)*('Sheet2'!$C$2:$C$7755<=$B$4)*('Sheet2'!$D$2:$D$7755>=$B$4),0),5)
或
=INDEX('Sheet2'!$A:$N,MATCH(1,('Sheet2'!A:A=$C$4)*('Sheet2'!B:B=$I$4)*('Sheet2'!F:F=$G$4)*('Sheet2'!$C:$C<=$B$4)*('Sheet2'!$D:$D>=$B$4),0),5)
(我个人建议 不 使用完整的列引用,因为这样做(尤其是两列以上)会降低公式/工作表的速度)