DC娱乐网

能透视文本的函数多好用啊

解答网友提问:将文本数据表的某一列转置成三行,变成一个二维表。案例:将下图 1 的数据表转换成二维表,以“月份”列为列字

解答网友提问:将文本数据表的某一列转置成三行,变成一个二维表。

案例:

将下图 1 的数据表转换成二维表,以“月份”列为列字段,“零食”列为值字段,如果行列字段有重复,则将多个值字段放在同一个单元格中。

效果如下图 2 所示。

解决方案:

1. 在 E2 单元格中输入以下公式 --> 回车:

=PIVOTBY(A1:A46,B1:B46,C1:C46,ARRAYTOTEXT,1,0,,0)

公式释义:

pivotby 是用于透视数据的函数,功能等同于数据透视表;

语法为 PIVOTBY (row_fields,col_fields,values,function,[field_headers],[row_total_depth],[row_sort_order],[col_total_depth],[col_sort_order],[filter_array],[relative_to]);

row_fields:行字段;

col_fields:列字段;

values:值字段;

function:要执行的聚合计算;

[field_headers]:指定 row_fields、col_fields 和 值是否具有标头,以及是否应在结果中返回字段标头;

[row_total_depth]:确定行标题是否应包含总计;

[row_sort_order]:如何对列进行排序;

[col_total_depth]:确定列标题是否应包含总计;

[col_sort_order]:如何对行进行排序;

[filter_array]:一个面向列的 1D 布尔值数组,指示是否应考虑相应的数据行;

[relative_to]:当有两个聚合函数时,relative_to 控制向聚合函数的第二个参数提供哪些值。

这里的公式表示分别将 A1:A46、B1:B46 和 C1:C46 作为行字段、列字段、值字段;将值区域转换成文本,即不聚合;不需要包含标题,不需要行、列总计。

最后几行中,行、列区域均有重复,公式自动将值字段的文本合并在了同一个单元格中,以“,”分隔。