在B1输入公式:
=INDEX(A$1:A$100,SMALL(IF(MATCH(A$1:A$100&"",A$1:A$100&"",0)=ROW($1:$100),ROW($1:$100),9^9),ROW(A1)))&""
数组公式,按三键(CTRL+SHIFT+ENTER)完成公式,下拉。
用MATCH(A$1:A$100&"",A$1:A$100&"",0)=ROW($1:$100),得到A$1:A$100中第一次出现的数据逻辑数组,用IF对查找到为真的地方赋序号,用SMALL得到这个序列中第X小的编号,用INDEX得到最终数据。
追问非常妙!消化了几天,非常妙。还有两点不懂,公式末尾那个&""是怎么起作用的,会把公式返回的那个0去掉?