重新组织excel中的数据(可能使用vlookup并匹配?)

时间:2015-05-20 06:21:27

标签: excel-formula match vlookup

我有一张excel表(CSV,显然是从SQL数据库编译而来的),其中包含从学生调查中收集的三列数据:

  • A1 / User_ID :1到913之间的数值。对于与该号码相关联的每个条目,重复每个值(例如,如果学生只回答了3个问题,那么她的号码将只显示3个次)。
  • B1 / Question_ID :字母数字代码,例如q01,q01a,... q35c,对应于调查问题。对每个回答每个特定问题的学生重复每个值(例如,如果400名学生回答q01,则q01在此栏中出现400次)。
  • C1 /评论:学生实际输入的内容是每个问题的答案(主要是文字字符串)。

我想组织数据,以便A1对应于User_ID,并且每个后续列对应于调查中的每个问题(B1到p01,C1到p01a,D1到p01b等);将每个答案都放在适当的栏目下,并将未回答的问题作为空白或不适用的问题。我一直在尝试使用数据透视表和公式的不同教程,例如vlookup,二维查找,索引,匹配以及这些之间的一些嵌套,但尚未得到任何结果。任何帮助深表感谢。谢谢!

1 个答案:

答案 0 :(得分:0)

在这种情况下处理复合键查找的最简单方法是使用新键值创建一个虚拟列。例如。插入一个新的列A并使用类似(在A2中)=B2&"§"&C2 - 这将为您提供user§question键。

在重新组织的工作表中,如果用户偏向一边并且问题在顶部,则可以输入查找公式。我们要查找的键是A列中的用户和第1行中的问题 - 所以B2中的一个例子是:$A2&"§"&B$1 - 注意我们使用{{1}的绝对行/列所以当我们复制&粘贴公式我们得到它正确更新。

然后,使用这个新密钥,我们可以进行简单的查找。在B2中:$ - 所以在=VLOOKUP($A2&"§"&B$1,csv!$A:$A,4,FALSE)工作表的新列A中查找复合键,返回第4列中的值(注释),然后进行完全匹配(csv

UPDATE 您可能还希望将其包装在FALSE中,以便在找不到时将显示空白,而不是查找错误。

正如我所说,复合键“虚拟列”方法最简单 - 但如果您不想要额外的列,还有其他方法。