如何将二维表转换为1维度,之前跟大家分享了过很多的办法,最近简单的就是利用POWER QUETY但是无奈WPS不支持,今天跟大家分享下如何使用公式来解决这样的问题,操作也并不难
一、获取名称
公式:=IF(B2:D5<>"",A2:A5,NA())
这个公式的作用是判断一下,表格的值区域是否不等于空白,如果条件成立则返回对应的姓名,如果条件不成立则返回NA的错位值,这样的话就能让每一个数据都得到其对应的姓名,
二、转换行列
公式:=TOCOL(IF(B2:D5<>"",A2:A5,NA()),3)
上一步我们获取的每个数字对对应的名称,之后就可以考虑使用TOCOL函数,将多列数据转换为一列数据,TOCOL的第三参数需要设置为3就表示将错误值忽略掉,结果如下图所示,到此为止第一行就转换完毕了
姓名也是一样的操作我们只需要将上述函数的A2:A5的区域,改成表头的区域就可以将姓名也都转换为一列数据,公式如下所示,制作的原理都是一模一样的,我们就不再一一演示了
公式:=TOCOL(IF(B2:D5<>"",B1:D1,NA()),3)
三、转换数字
最后只要将数字也都转换为一列就可以了,可以直接使用TOCOL,这个函数的作用就将多列数据转换为1列数据,到此为止就设置完毕了,到此为止就转换完毕了。操作还是比较简单的,大家可以试一下
公式:=TOCOL(B2:D5,3)
四、组合公式
上面的公式对于一些小白来说可能还是比较懵,没关系,我都给你们想好了,直接套用下面的公式即可,只需要将参数设置为你表格的对应区域即可,老师我想的周到把~
公式:=LET(x,B2:D5,y,A2:A5,z,B1:D1,VSTACK({"姓名","月份","数值"},HSTACK(TOCOL(IF(x<>"",y,NA()),3),TOCOL(IF(x<>"",z,NA()),3),TOCOL(x,3))))
B2:D5:修改为你的数值区域
A2:A5:修改为你的首列
B1:D1:修改为你的首行
姓名,月份,数字的表头也是根据自己的数据来设置即可
以上就是今天分享的全部内容,操作其实并不难,大家可以试着做一下~
热门跟贴