excel竖向结构怎么设置(Excel竖向结构转横向结构)

之前给大家分享了竖向结构转横向结构的5种方法,就是把表一样式转换为表二样式,具体的文章可参阅如下:

3秒钟搞定Excel数据竖向结构转横向结构,这5种方法你要掌握


excel竖向结构怎么设置(Excel竖向结构转横向结构)(1)

那如果我们想把表二结构数据转换为表一结构样式的要怎么做,就比如如下这样的?

excel竖向结构怎么设置(Excel竖向结构转横向结构)(2)

今天就给大家分享下这种数据表转换怎么实现。

1、首选我们要先确定表二的姓名列,在表一要实现多少行。

我们从表二可以看出,每个姓名有3个参数,即可以确定表一的行数为:姓名数*参数数。

2、确认下B4:B11的姓名内容在H列什么时候实现第二次重复,比如第一次到"木木"了,那我下一个人名应该返回B4的内容"赵云",这个要怎么做?

这是可以考虑用MOD函数,比如MOD(ROW(1:1),9),即可以实现每9个一循环了。

excel竖向结构怎么设置(Excel竖向结构转横向结构)(3)

循环重复知道了,那要怎么把表二B列对应的人名写到H列呢,OFFSET函数即可以实现?

OFFSET(原始点,偏移的行数,偏移的列数,引用的行数,引用的列数)

我们就可以以B4为原始点,偏移的行数使用MOD函数实现,偏移列数为空。

3、下面只要在H3输入如下公式:

=IF(ROW(1:1)>(COUNTA($B$4:$B$21))*(COUNTA($C$3:$E$3)),"",OFFSET(B$4,MOD(ROW(1:1)-1,COUNTA($B$4:$B$21)),))

excel竖向结构怎么设置(Excel竖向结构转横向结构)(4)

这里用到了IF函数进判定,当行数大于数据区域行数的时候,显示为空值,否则以OFFSET函数的值显示

计数数据区域取的是B4:B21,代表我们可以在B11之后再增加姓名后,数据依然可以更新。

4、内容参数列可参考姓名列的方法,使用OFFSET函数,不过此时是列偏移,而不是行偏移了,偏移的条件是每经过8行(事例的姓名行数),向右偏移一列。

这时再使用MOD函数就不行了,我们可以直接使用除法。

在I3输入公式:

=IF($H3="","",OFFSET($B$3,,(INT(ROW(1:1)-1)/(COUNTA($B$4:$B$21))) 1))

excel竖向结构怎么设置(Excel竖向结构转横向结构)(5)

同样增加IF函数判断,判断的条件是姓名列是否存在,存在即进行偏移,否则为空。

5、输出结果查询,就相比较简单了,我们已经知道了姓名、参数,就可以使用交叉查询进行实现了,可以在J2输入公式:

=IF(H3="","",SUMPRODUCT((H3=$B$4:$B$11)*(V3=$C$3:$E$3)*$C$4:$E$11))

excel竖向结构怎么设置(Excel竖向结构转横向结构)(6)

更多交叉查询的方式,可参考另一篇文章:

Excel实现文本交叉查询的3种方法,看下有没有你知道的方法

这样,一整个数据结构转换就已经完成,你学会了吗?如果有什么疑问欢迎留言讨论,谢谢~~

如果觉得文章对你有帮助的话,希望大家帮忙点赞加分享哦~,谢谢

本文由彩虹Excel原创,欢迎关注,带你一起长知识!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页