你好,我看了你之前回答别人的“excel大量的逐条数据如何转化成交叉表数据”的回答,觉得很适用,第一列数据变成行标题,第二列数据变成列标题,第三列数据成为交叉表中的数据。这个公式太复杂了,能把源数据放在sheet1表格,在第二张sheet表格里面B2位置,设置一个吗?就可以直接复制来用了,谢谢!
如何将批量的逐行数据(也叫数据库记录数据)转换成二维交叉表数据,分关键列情况而定,本人举例如下,第一种关键列(关键字段)只有一个的情况:
1、在原表前加一个辅助列 用户ID, 其值来自原用户+序列号(注公式的写法),A2=B2&COUNTIF($B$2:$B2,B2) 下拉;
2、将B列的用户值,复制到 F列(新表),数据---数据工具:删除重复项---得到唯一的用户名(一个用户只出现一次);
3、对于新表的其他列(G1、H1、I1...),名称必须命名为后带序号的列名,如手机号1、手机号2....
4、用Vlookup( )函数来查找并匹配值 G2=VLOOKUP($F2&COLUMN( )-6,$A$2:$C$18,3,0),解释:COLUMN()-6就是当前列号7减去6等于1,目的匹配上面对应列的序号 1,且产生出vlookup函数的关键字“查找值”要唯一,将 G2公式竖拉、横拉,当出现 #N/A 值时表示值匹配完毕。
5、根据列字段或行关键值记录的多少,可以做成横向表
G11=VLOOKUP(G$10&ROW()-10,$A$2:$C$18,3,0), G11公式横拉、竖拉,当出现 #N/A 值时表示值匹配完毕。
第二种情况,当关键字段值是由多个列值的组成,请等待几天,本人后续。