如何利用FILTER函数,轻松实现数据的纵向到横向转换。
根据实际需求,我们分为两种情况来讨论:一种是将数据分散到多个单元格中,
另一种是将转换后的数据集中到一个单元格,并用特定符号分隔。
情形一:数据分散至多个单元格
有时候,我们需要将多行数据分散到多个单元格中,形成横向排列。
这时,FILTER函数和TRANSPOSE函数的组合就能满足你的需求。
步骤一:构建FILTER函数
- 在单元格中输入=FILTER函数,并选定需要返回的数据范围:姓名列B列。
- 设置筛选条件:部门A列等于特定部门D2单元格,并确保筛选条件中的引用地址已固定。
公式:=FILTER(B:B,A:A=D2)
步骤二:嵌套TRANSPOSE函数
- 数据转置:为了实现数据的横向排列,在FILTER函数外嵌套TRANSPOSE函数。
- 输入=TRANSPOSE(FILTER(B:B,A:A=D2))
步骤三:完成填充
将上述公式向下填充,数据将按预期横向排列在多个单元格中。
情形二:数据合并至单一单元格
有时候,我们需要将多行数据合并到一个单元格中,并用特定符号进行分隔。
这时,FILTER函数和TEXTJOIN函数的组合就能派上用场。
(1)在单元格中输入=FILTER(B:B,A:A=D2) (跟情形一是相同的)
(2)在FILTER函数的基础上,嵌套TEXTJOIN函数。
=TEXTJOIN(",",TRUE,FILTER(B:B,A:A=D2))
1、TEXTJOIN的第一个参数为分隔符(如逗号),
2、第二个参数选择是否忽略空值(通常选择TRUE,忽略空值),
3、第三个参数则是FILTER函数返回的数据数组。
(3)将上述公式向下填充,即可得到一个以分隔符连接的数据字符串,实现了数据的横向展示。
通过这两种方法,我们可以灵活地将纵向数据转换为横向数据,满足不同的数
据处理需求。
评论 (0)