关于EXCEL:如何让某一列中第一次出现的数值依次显示在另外一列中?

如下图,A列中有许多行数据(且A列的数据是要经常增减变化的),其中有许多重复的,如何让A列中第一次出现的数值依次显示在D列的单元格里?
比如A2中“张三”第一次出现,则D2显示张三;A3中“李四”第一次出现,则D3显示李四;A4中“张三”第二次出现,则D列不再重复显示;A5中“张三”第三次出现,D列也不再重复显示;A6中“王五”第一次出现,则D4显示王五;……以此类推

注:
1、A列的数据是要随时变化的,我想要的是D列数据随A列数据的变化而变化。所以不要告诉我类似筛选、透视表之类的方法,这不是我想要得。
2、D列各数据之间要能紧挨着,也就是说要求D列数据之间没有空白单元格
3、公式或者VBA都可以,只要能实现我要的效果。如果哪位高手可以帮忙,我愿意再追加悬赏分。

假设名称列在A列,
在D2输入公式

=INDEX(A:A,SMALL(IF(MATCH($A$1:$A$5000&"",$A$1:$A$5000&"",0)=ROW($A$1:$A$5000),ROW($A$1:$A$5000),4^8),ROW(A1)))&""

数组公式,按CTRL+SHIFT+回车三键确定,鼠标移到单元格右下角,当出现一个黑色小十字时,同时按住鼠标左键往下拖动
温馨提示:答案为网友推荐,仅供参考
相似回答