在excel里边有两列,分别是学生和专业,怎么把专业相同的学生放在同一个单元格里,到最后只剩下不重复的专业。学生人数巨大,怎么用宏来实现这个功能呢?代码是怎样的?
示例工作表数据图片如下:
代码如下:
Sub ZL()你的解答非常好,其实我简化了原来的题目,原题目要求如图所示,把相同零件的产品型号归纳到同一个单元格里,后面的数量和层数和第一次出现的零件相同即可,求大神再写一次程序,感激不尽
大神啊,不好意思,你这个代码确实是可以运行的。但今天我回去看了一下表,又出问题了。是这样的有些产品型号和零件连续出现两次或两次以上,如图产品型号A在同一单元格出现了三次,我只想让他出现一次?求大神再次出手,感激不尽!!!!!
竟然有字数限制 代码贴不完整只好给你发成附件了.
假设A2:B10000是数据源,A列为专业,B列为学生,则在D2输入
=IF(AND(COUNTIF(D$1:D1,A$2:A$10000)),"",INDEX(A$2:A$10000,MATCH(,COUNTIF(D$1:D1,A$2:A$10000),),))按【CTRL+SHIFT+回车】后下拉填充公式
你所说的将同一专业的学生放在一个单元格中,这既不符合数据管理的规范,EXCEL普通函数也无法实现,且表格美观也受影响,所以,建议还是一个单元格放一个学生,便于后续的统计等。
E2输入
=IF($D2="","",IF(COLUMN(A1)<=COUNTIF($A:$A,$D2),INDEX($B$2:$B$10000,,SMALL(IF($A$2:$A$10000=$D2,ROW($1:$9999),4^4),COLUMN(A1)),""))按【CTRL+SHIFT+回车】后,向右拉再向下拉填充公式即可
本回答被网友采纳我可以帮你写代码,不难的。你确认一下效果是不是这样?
追问其实要求是这样的,把相同零件的产品型号归纳到同一个单元格里,后面的数量和层数和第一次出现的零件相同即可,求大神帮忙解答,感激不尽
可以,效果完全一致,看代码,截图
Sub test()