如果您是WPS用户非要通过函数实现逆透视,您的福利来了!此篇幅有点长,您可以先收藏,有时间慢慢看。
还是昨天微头条的案例,如图1所示:
图1
来看我今天的推导过程:
第1步:=TAKE(A1:G5,,1)
图2
这一步是获取这一区域的列标题,如图2所示。
第2步: =TAKE(A1:G5,1)
图3
这一步是获取这一区域的行标题。如图3所示
第3步:=TAKE(A1:G5,,1)&"-"&TAKE(A1:G5,1)
图4
这一步是把前两步的列标题用文本连接符与“-“连接起来。如图4所示。
第4步:=DROP(TAKE(A1:G5,,1)&"-"&TAKE(A1:G5,1),1,1)
图5
这一步是把第3步得到的结果的第一行与第一列去掉。如图5所示。
第5步:=TEXTJOIN(",",1,DROP(TAKE(A1:G5,,1)&"-"&TAKE(A1:G5,1),1,1))
图6
这一步是把第4步得到的区域合并在一个单元格中,并用" ' "连接起来。
第6步:=DROP(A1:G5,1,1)
图7
这一步获取源数据的数字区域,如图7所示。
第7步:=TOCOL(DROP(A1:G5,1,1),,0)
图8
这一步把上一步得到的数据按列扫描得到一列,如图9所示。
第8步: =HSTACK(TEXTSPLIT(TEXTJOIN(",",1,DROP(TAKE(A1:G5,,1)&"-"&TAKE(A1:G5,1),1,1)),"-",","),TOCOL(DROP(A1:G5,1,1),,0))
图10
第9步:=LAMBDA(X,HSTACK(TEXTSPLIT(TEXTJOIN(",",1,DROP(TAKE(X,,1)&"-"&TAKE(X,1),1,1)),"-",","),TOCOL(DROP(X,1,1),,0)))(A1:G5)
图11
图12
就像如图11所示:用LAMADA函数,把HSTACK(TEXTSPLIT(TEXTJOIN(",",1,DROP(TAKE(X,,1)&"-"&TAKE(X,1),1,1)),"-",","),TOCOL(DROP(X,1,1),,0))共同的参数A1:G5,定义为X。
第10步: =逆透视(X)
图13
这里是今天的大招!
如图13所示,LAMADA函数测试完毕,把=LAMBDA(X,HSTACK(TEXTSPLIT(TEXTJOIN(",",1,DROP(TAKE(X,,1)&"-"&TAKE(X,1),1,1)),"-",","),TOCOL(DROP(X,1,1),,0)))复制到公式-名称管理器-引用位置中,创建一个自定义函数名为“逆透视”。
测试环节,请看动图:
扩大大数据范围测试环节
评论 (0)