我是VBA的新手,找不到线程来回答这个问题。道歉,如果重复。
我在名为“sheet1”和“sheet2”的Excel文件中有2张纸。 “sheet1”有这样的50,000多行:(如果它按“用户名”排序,那么“问题”)
username |question |answer | ...many other columns...
Mr_1754 |Q10 |56 |
Mr_1754 |Q18 |32 |
Mr_1754 |Q56 |42 |
Mr_9564 |Q10 |1 |
Mr_9564 |Q22 |564 |
...
也就是说,每行都有一个唯一的问题和用户名组合。请注意,用户名基本上是“Mr_”之后的随机数字,问题编号也是任意的。 “答案”列仅包含整数。不同的用户名具有不同数量的问题。我想要做的是在“sheet2”中创建一个如下所示的电子表格:
username |Q10 |Q18 |Q22 |Q56 | ...as many columns as there are questions...
Mr_1754 |56 |32 | |42 |
Mr_9564 |1 | |564 | |
...As many rows as there are usernames...
也就是说,如果用户名没有回答的任何问题,我想将每个用户名放在自己的行中,并留空。
任何建议的代码都将非常受欢迎。
答案 0 :(得分:0)
如果您不需要专门的VBA,答案可能非常简单。数据透视表可以为您提供所需的确切数据。你应该:
选择sheet1中的所有数据
选择Insert-> Pivot table
将username
字段放在行标签区域
将question
放入列标签区域
将answer
放在值区