在这个excel中的index函数,数组模式和引用模式有什么区别?

如图,我在B列和D列中输入了相同的公式,唯一的区别是B列用了CTRL+shift+enter输入,D列直接用enter输入,但是B列会出现我想要的结果,D列却没有,请问这是什么原因?公式是在网上找的,内容如下:=INDEX($A:$A,SMALL(IF($C$1:$C$999=$A1,ROW($C$1:$C$999),65535),1))&""还有如果我去掉了中间的SMALL函数部分,整个公式就不工作了,这个又是什么原理?

第一个问题,因为涉及到数组运算,输入后按ctrl+shift+enter三键代表输入的是数组公式,输入完成会自动在公式两边补齐一对大括号

第二个问题,index+small+if+row这是一对多查找的经典套路,small函数返回是第N小的结果,随着公式的拖动填充,分别返回第1小、第2小、……第N小的结果。可以在网上搜索万金油公式,应该有比较多且比较详细的说明

貌似你的公式只能返回一个结果,如果有多个结果,只返回第一条查找的结果(因为small函数的第二参数是1)

=INDEX($A:$A,SMALL(IF($C$1:$C$999=$A1,ROW($C$1:$C$999),65535),1))&""

举个实例

公式输入后按ctrl+shift+enter三键

=INDEX(A:A,SMALL(IF($E$2=$C$2:$C$8,ROW($C$2:$C$8),4^8),ROW(A1)))&""

温馨提示:答案为网友推荐,仅供参考
相似回答