excel index match 数组公式疑问

特点是基础数据和对比数据,两列数据行数不一样, 写的数组公式往往是同行对比,某某列对一个单一数据对比,
写的公式 =INDEX($F$4:$F$16,MATCH(SMALL(IF($D$4:$D$16=$F$4:$F$16,IF($D$4:$D$16<>"",ROW($F$4:$F$16))),ROW($A1)),IF($D$4:$D$16=$F$4:$F$16,IF($D$4:$D$16<>"",ROW($F$4:$F$16))),0)) 不正确

第1个回答  2015-03-11

=INDEX($D$3:$D$13,SMALL(IF(COUNTIF($F$3:$F$8,$D$3:$D$13),IF(LEN($D$3:$D$13),(MATCH($D$3:$D$13,$D$3:$D$13,0)=ROW($D$3:$D$13)-ROW($D$3)+1))*(ROW($D$3:$D$13)-ROW($D$3)+1)),ROW(A1)))

追问

下载您的文件,直接把我的数据贴进去,结果有三个重复值

追答

=INDEX($D$3:$D$13,SMALL(IF(COUNTIF($F$3:$F$8,$D$3:$D$13),IF(MATCH($D$3:$D$13,$D$3:$D$13,0)=(ROW($D$3:$D$13)-ROW($D$3)+1),(ROW($D$3:$D$13)-ROW($D$3)+1))),ROW(A1)))
这个才对。

第2个回答  2015-03-11
=index(F:F,small(if(countif(F:F,D$4:D$16)*(D$4:D$16<>""),row($4:$16),2^20),row(a1)))&""追问

得到三个结果,只有一个是对的

追答

=index(D:D,small(if(countif(F:F,D$4:D$16)*(D$4:D$16""),row($4:$16),2^20),row(a1)))&""

追问

追答

唉,你还要去重?

=index(D:D,small(if(countif(F:F,D$4:D$16)*(D$4:D$16"")*(match(D$4:D$16&"",D$4:D$16&"",0)=row($4:$16)-3),row($4:$16),2^20),row(a1)))&""

本回答被提问者采纳
相似回答