乐于分享
好东西不私藏

155、Excel函数之数组追加函数

本文最后更新于2026-03-10,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜

155、Excel函数之数组追加函数

      新版本中增加了2个数组追加函数VSTACK/HSTACK函数,这两个函数分别用于按顺序垂直/水平追加数组,以返回更大的数组。
     函数的语法结构为:

VSTACK/HSTACK(array1,[array2]…)

说明:

1、函数参数为要追加的数组;

2、VSTACK以逐行方式附加每个数组参数形成新的数组。新数组具有维度为:行–每个数组参数中所有行的合并计数;列–每个数组参数中列数的最大值。如果数组的列数少于所选数组的最大宽度,将在其它列中返回#N/A错误。

3、HSTACK以列级方式附加每个数组参数形成新的数组。新数组具有维度为:行–每个数组参数中行计数的最大值;列–每个数组参数中所有列的合并计数。如果数组的行数少于所选数组的最大宽度,将在其它列中返回#N/A错误。

示例:

  输入公式“=VSTACK(“序号”,{1;2;3;4;5}&”月”,”合计”)”或者“=VSTACK(“序号”,SEQUENCE(5)&”月”,”合计”)”,都会返回以下数组所示的结果:

     输入公式“=HSTACK(“月份”,{1,2,3,4,5,6,7,8,9,10,11,12}&”月”,”小计”)”或者“=HSTACK(“月份”,SEQUENCE(,12)&”月”,”小计”)”,都会返回以下数组所示的结果:数组结果是将所选区域按列进行追加,

  如下图所示通过选择单元格区域作为参数,公式“=VSTACK(J30:J31,A29:G29)”,返回的结果可以看出:J列的列数少于数组所选的最大宽度,在少的列中返回了#N/A错误值。

      如下图所示输入公式“=HSTACK(J30:J31,A29:G29)”,返回结果按行追加,行数少于所选数组最大宽度的返回#N/A错误值。

      利用数组追加函数可以模仿数据透视表生成二维汇总数据,如下图所示:

    使用数组追加函数进行汇总的公式为“=IFERROR(LET(姓名,UNIQUE(A2:A36),科目,TOROW(UNIQUE(B2:B36)),HSTACK(VSTACK(“姓名”,姓名,”科目总分”,”科目平均分”),VSTACK(科目,SUMIFS(C:C,A:A,姓名,B:B,科目),SUMIF(B:B,科目,C:C),SUMIF(B:B,科目,C:C)/COUNTA(姓名)),VSTACK(“总分”,SUMIF(A:A,姓名,C:C)))),SUM(C2:C36)/COUNTA(UNIQUE(A2:A36)))”。公式通过垂直追加和按行追加的方式通过数组组合分别创建汇总表的“行标题”和“列标题”,使用条件求和,平均值计算生成表格中间对应的数据,然后进行追加。

        当然,实际工作中我们直接使用数据透视表生成是最为方便快捷的,在此,举这个示例是为了介绍数组追加函数的使用场景,同时,通过不同维度的思考练习也是我们强化函数理解的一个不错方式。利用数组追加汇总仅作为思维锻炼使用,实际中千万不要舍简就繁了。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 155、Excel函数之数组追加函数

猜你喜欢

  • 暂无文章

评论 抢沙发

7 + 5 =