首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

90 一维数据转二维,二维转一维,并自定义函数固化,云保存

在做数据分析的时候,二维数据有非常大的优势,可以非常直观的看到不同维度的数据在一个表上面,与之相对比的话,一维数据也有其优势,如进行数据引用的的时候时候,一维数据相对二维数据来说一般情况下会更方便引用;

在两种显示维度各有各的优势的情况下,我们就需要掌握两种数据的转换方法,也就是一维转二维,二维转一维的方法,学习后,再用自定义函数固化,这样就可以在任何需要对数据进行一维转二维,或者二维转一维的地方快速转换。

如果汇总区域刚好有数据的话,而且有重复项目的话,用SUMIFS来汇总数据,如没有的话,用XLOOKUP来。案例中这里没有重复项目,所以我们用XLOOKUP。总结:有重复项用SUMIFS汇总数据,没有的话,用XLOOKUP;当引用区域汇总的不是数值,又存在重复项的话,此时就是一对多了;

这里为了后面的自定义函数方便写,我们用XLOOKUP的数组形式来写;在写XLOOKUP的引用之前,先把一维数据中需要汇总的二个维度先去除重复项,转成行和列的显示方式,分别录入以下公式:

E1=UNIQUE(A1:A29)

F2=TRANSPOSE(UNIQUE(B2:B29))

有了这两个维度的字段后,就可以用XLOOKUP的多条件引用把数据引用过来了,

F2=XLOOKUP(E2:E8&F1:I1,A2:A29&B2:B29,C2:C29),动态数组公式,直接填充完成;效果如下图;

上面虽然完成了一维数据转二维数据,但是如果还有类似的一维数据需要转换的时候,如下图,(表的位置不一样)又要写一次转换函数,此时可以用自定义函数来解决这个问题,这里可以理解自定义函数相当于用户自己创建规则,一定程度上简化了函数的录入;

录入函数

=LAMBDA(A,B,C,D,E,F,XLOOKUP(A&B,C&D,E,F))(E2:E8,F1:I1,A2:A29,B2:B29,C2:C29,""),注意这里LAMBDA函数把XLOOKUP的引用区域分别用A,B,C,D,E,F来替代,相当于新函数的参数对应的范围。

复制 “=LAMBDA(A,B,C,D,E,F,XLOOKUP(A&B,C&D,E,F))”这一段代码,按下Ctrl+F3 新建一个名称“zyi”,把这段代码复制到引用位置,这样一个新的函数就创建好了,名称就是新函数的名字;

在新的数据中测试这个新函数,录入函数“=zyi( ”,可以看到下方的提示已经有参数了,此时只需要把对应的参数选择好就可以了,录入自定义函数:=zyi(I5#,J4#,E4:E22,F4:F22,G4:G22,""),效果如下图

关于LAMBDA的函数用法肯定有非常多的灵活用法,不光是一维转二维可以快速用到,二维转一维同样可以快速的用到;

如提前定义好的二维转一维函数,再把此代码

=LAMBDA(A,B,C,FILTER(HSTACK(TEXT(TEXTSPLIT(TEXTJOIN(",",,A&"-"&B),"-",","),"M/D"),TOCOL(C)),TOCOL(C)0)),创建对应的新名称,并命名为“z”,这样一个二维转一维的新函数就自定义好了,只需要按下面的图片中操作就可以快速的转换了,无论位置发生变化,只要格式是标准的二维数据就可以了;

数据A1:F6,是标准的二维数据,录入新函数:=z(A2:A6,B1:F1,B2:F6),就快速的转换成二维数据了;简单高效;

总结:

通过定义新的自定义函数,使用函数参数灵活变化,这样就大大方便了数据的快速转换,所以经常需要分析操作数据的话,通过这个函数可以快速定义好非常多函数,再通过输入法来保存到“云”,这样换电脑、换地方,只要输入法不换就可以了;

我是古哥:

从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230303A08IZJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券