专业的JAVA编程教程与资源

网站首页 > java教程 正文

这几个动态数组函数,简单又高效(动态数组的方法)

temp10 2025-05-11 00:56:36 java教程 3 ℃ 0 评论

1、 VSTACK

作用:垂直合并数组

这几个动态数组函数,简单又高效(动态数组的方法)

如下图所示,有两天的加工件数据,存放在不同工作表中。需要从两个工作表中提取出不重复的员工名单。

D2单元格输入以下公式,按回车即可“

=UNIQUE(VSTACK(A2:A11,'12月1日'!A2:A13))

先使用VSTACK函数将两个工作表中的姓名区域合并为一个垂直方向的数组,再使用UNIQUE函数从中提取处不重复记录。


2、TAKE

作用:从数组中保留部分行

如下图所示,希望从左侧数据表中,提取出“生产部”年龄最小的两位员工的信息。

E2单元格输入以下公式按回车即可:

=VSTACK(A1:C1,TAKE(SORT(FILTER(A2:C11,B2:B11="生产部"),3),2))

先使用FILTER函数,从A2:C11单元格区域中提取出符合条件的所有记录。

再使用SORT函数,对数组结果中的第3列升序排序。

接下来使用TAKE函数,返回排序后的前两行的内容。

最后,用VSTACK函数,将A1:C1单元格区域中的标题与TAKE函数的结果连接。


3、WRAPROWS

作用:按行列转换数组

如下图,希望将A列的姓名转换为两列。

C2单元格输入以下公式即可:

=WRAPROWS(A2:A16,2,"")

WRAPROWS用于将一列内容转换为多列,第1参数是要处理的数据区域,第二参数指定转换的列数。

如果转换后的行列区域大于实际的数据元素个数,第三参数可将这些多出的区域显示成指定的字符。


4、CHOOSECOLS

作用:返回数组中的部分列

如下图所示,希望在左侧数据表提取出生产部的员工姓名以及对应的年龄信息。

E2单元格输入以下公式,按回车即可。

=CHOOSECOLS(FILTER(A2:C11,B2:B11="生产部"),{1,3})

首先使用FILTER函数在A2:C11单元格区域中筛选出符合条件的所有记录,再使用CHOOSECOLS函数,返回数组中的第1列和第3列。


5、TOROW和EXPAND

TOROW 作用:将数组转换为一行。

EXPAND作用:将数组扩展到指定维度。

如下图所示,希望根据左侧的员工信息,每隔1行插入一个空行。

E1单元格输入以下公式,按回车即可:

=VSTACK(A1:C1,WRAPROWS(TOROW(EXPAND(A2:C11,,6,"")),3))

EXPAND(A2:C11,,6,""),公式中的这部分,用来将A2:C11转换为6列。多出的维度用空文本填充:

接下来,使用TOROW函数将以上结果转换为一行,此时,每组数据之间间隔了三个空白列:

再用WRAPROWS函数转换为3列多行:

最后,用VSTACK将A1:C1中的标题与以上结果合并即可。


好了,今天咱们的内容就先分享这些,祝大家一天好心情~~


图文制作:祝洪忠

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表