龙空技术网

241 WPS 新函数 TOCOL将二维数组转化成一行

古哥计划 166

前言:

而今看官们对“php一维数组合并二维数组”大致比较关心,大家都想要学习一些“php一维数组合并二维数组”的相关资讯。那么小编在网上汇集了一些对于“php一维数组合并二维数组””的相关资讯,希望各位老铁们能喜欢,同学们快快来了解一下吧!

今日分享的WPS 新函数就是TOCOL,这个函数可以说将原来非常复杂的二维数据转一维数据变得非常简单,简单到只需要拖拽鼠标选中数据范围了。 这个函数的同系列函数就是 TOROW,功能基本和TOCOL一样,区别只是一个是TOCOL是列方向(垂直),一个是TOROW行方向(水平)。

函数说明

函数名称: TOCOL TOROW;

函数说明: 将二维数组转化为一列或一行;

函数参数: TOCOL TOROW (数组,[忽略特殊值],[通过列扫描]);

忽略特殊值有4个数字可选:0,不忽略特殊值;1,忽略空单元格;2,忽略错误值;3,忽略空单元格和错误值;不输入数字表示默认情况下,不会忽略任何值。一般怕出现错误的话,录入3;

最后一个参数理解是按列还是按行合并(当数据有多列的时候),默认是按行(水平方向);

函数简写:=WR,方向键向下按两下,然后按 TAB自动补全,同理,如果不按方向键直接录入=WR后按TAB键,就是WRAPCOLS函数的快速录入方法;

基本用法

要求:把各车间的员工合并到一列:

G3 =TOCOL(C3:E5)

直接用TOCOL的第一参数,选中需要合并车间对应的员工范围。

第2参数不输入,保留所有数据;第3参数不输入,默认按列合并也就是水平方向(紫色框数据)

公式更改:=TOCOL(C3:E5,3);

公式释义:合并C3:E5到一列,并忽略空单元格和错误值;

公式更改:=TOCOL(C3:E5,3,1);

公式释义:合并C3:E5到一列,并忽略空单元格和错误值,合并的条件是按列(垂直方向)合并,如紫色框标记的方向。

使用场景1:

一维数据转二维数据中,需要其中的一维数据水平方向的的动态标题。

如下图中数据,为某工厂的生产日报,B列为日期,只要有开工就会动态新增加,C列为线体,D列为工单,E列为完工数,现需要创建一个动态汇总数据:按线体汇总每天的完工数:

录入函数:=DROP(UNIQUE(C3:C10000),-1)

函数释义:

DROP函数:从一个数组或范围中删除指定的位置或数量的元素。-1:它表示删除唯一值数组中(UNIQUE(C3:C10000))的最后一个元素。

UNIQUE(C3:C10000):这部分使用了UNIQUE函数来获取C3:C10000区域中的唯一值,并返回一个包含唯一值的数组。

同理水平方向就用到今日学习的函数 TOROW,把数组转成一行;

录入函数:

=TOROW(DROP(UNIQUE(B3:B10000),-1))

函数释义:

删除B3:B10000的重复值,并返回唯一值,通过DROP删除最后一个元素,再用TOROW转成一行(水平方向)

录入函数:=SUMIFS(E:E,C:C,G3#,B:B,H2#)

函数释义:汇总E列的数量,条件1为线体,条件2为日期;

这是一个标准的一维转二维思路。数据没有超过B3:B10000,都可以动态更新,比数据透视表更加方便(不需要刷新数据,公式自动刷新);

因此,整个公式的作用是从C3:C10000区域的唯一值中删除除了最后一个值之外的所有值。最终结果将只包含唯一值中的最后一个值。

使用场景2:

TOROW是用在一维数据转二维数据中的一个需求:条件转置成行(水平)方向。TOCOL就可以用在二维数据转一维数据中的需求,把二维数据转到一列(垂直)方向;

如下图所示,需要把表1,自动转换成表2;

录入函数:=--TOCOL(C2:E2&A3:A4)

函数释义:这里利用了数组的水平数组和垂直数组相连接的特性,重新生成一个标准的二维数组。因为连接的A3:A4是空单元格,连接后直接成为文本了,前面用减负运算变成数值,这样转换后的结果就可以显示为日期格式了。

录入函数:=TOCOL(B3:B4&C1:E1)

函数释义:这里原理和上面的差不多,区别列宽度的空值要与实现列的数值一样,只有一样了,用TOCOL转换成列后的高度才一致;

录入函数:=TOCOL(C3:E4)

释义释义:把选中范围内的数字转换成列;到这里三个条件都转以一列了,而且高度一致,就实现了数据的二维转一维了;

合并公式:

上面的公式是分三列显示的,会有包含0的显示出来,此时需要合并公式,筛选不为0的结果。

合并三列公式的函数用HSTACK

=HSTACK(--TOCOL(C2:E2&A3:A4),TOCOL(B3:B4&C1:E1),TOCOL(C3:E4))

利用筛选函数,条件是数量这一列大于0的结果,录入函数:

=FILTER(HSTACK(--TOCOL(C2:E2&A3:A4),TOCOL(B3:B4&C1:E1),TOCOL(C3:E4)),TOCOL(C3:E4)>0)

这样就完成了二维转一维的转换。

我是古哥:

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

标签: #php一维数组合并二维数组 #二维数组输入输出