方法一:首先用“删除重复值”功能,得到不重复姓名,再使用公式获得相同姓名对应的不同值。
G1公式为=IFERROR(INDEX($B$1:$B$16,SMALL(IF($A$1:$A$16=$F1,ROW($1:$16),10^10),COLUMN(A1))),"") 数组公式,以ctrl+shift+enter结束
方法二:使用Power Query(excel2016及以上版本已经内置,2010及2013需要先下载相应安装包,2007及以前版本不可用)
方法3,使用textjoin函数之后再分列(excel2019及365支持)
F1公式为=TEXTJOIN(",",,IF($A$1:$A$17=E1,$B$1:$B$17,"")),同样是数组公式
看着楼上几位使用函数公式解答,非常钦佩。在下想不出上面函数公式,只想到使用VBA程序代码来处理。
1、VBA程序代码如下截图:
2、程序执行前后截图如下:
【注】引用自百度经验《Excel表格提取数据到同一行上面》
没有看懂,请详细说一下,因为有好几千人的名字,我输进去都是显示重复