ExcelVBA 有简单的方法何必难为自己
网友提问:
将左表变成右表

回答网友问题:
每当网友问我问题时,我都会尽量把我所知道的、想到的、易理解的、尽量简单的方法告诉大家。同样今天这个问题,我建议大家使用PowerQuery处理,一行代码就解决了,如下图

之所以我在ExcelVBA第二季里没有展开讲字典,同时也告诉大家,大多数情况下没有必要使用,也在第三季里对比了PowerQuery和字典操作。同样的问题还有为什么我不讲数组函数公式等。这些知识要是性价比高,我干嘛不给你讲呀?有简单的方法,你又何必难为自己?
回归正题,把A1:C7这张表,变成E1:G4这张表
建议用PQ、Access、SQL......... 唯独不应该用ExcelVBA

ExcelVBA方法如下:
还可以考虑用AtuoFilter的方法,找到姓名的唯一值,分别筛选表,每次将显示的科目拼接成字符串,数值求和。(字典+数组会比AtuoFilter快一些)

ExcelVBA教程:https://www.bilibili.com/video/BV1rt4y1a72y
PowerQuery教程:https://www.bilibili.com/video/BV1oa4y1j75e