表格转换不翻车! excel中filter筛选函数行列互换的技巧
好久不进行答疑了,正好今天一位公众号粉丝后台咨询,如何将表格1的数据布局转换为表格2的数据布局。
如下图所示:
A1:F6区域是一个二维格式表格。行标题为姓名,列标题为星期,姓名与星期的交叉值区域为值班标记“√”。我们想要转换为右侧表2的H1:I6区域,即一列日期,另一列是对应日期值班的姓名。若同一日期对应多个姓名时,不同姓名之间用逗号间隔。

这个问题我们的核心破局函数是FILTER函数,并配合FILTER函数的几个常用的搭档函数共同解决。
首先输入函数:
=TOCOL(B1:F1)
利用TOCOL函数将B1:F1区域的一行星期值转换为一列(行转列)放置到H2:H6区域。

核心函数公式:
=FILTER($B$2:$F$6,$B$1:$F$1=H2)
函数语法:FILTER(数组, 包含条件, [如果无结果返回])
- 数组:要筛选的数据范围。
- 包含条件:符合筛选条件的逻辑表达式。
- 如果无结果返回(可选):如果没有符合条件的数据,可自定义返回内容。
核心原理:
利用FILTER函数,对$B$2:$F$6区域的“√”标记区域进行筛选,当符合$B$1:$F$1区域的星期值与H2单元格的星期值相同时,我们执行对$B$2:$F$6区域对应列的数据筛选命令,很明显是筛选B列“周1”列数据。筛选出来的数据以数组溢出的方式返回。

我们做一个逻辑判断:
=FILTER($B$2:$F$6,$B$1:$F$1=H2)="√"
使FILTER函数的返回结果等于"√",如果逻辑成立,对应的单元格值返回TRUE,如果不成立,则返回FALSE。

通过上面的返回结果不难发现:
通过H2单元格“周一”所筛选出来的B列“周一”列的“√”值(逻辑值TRUE),其左侧对应的姓名即“周一”所对应的值班姓名。
所以我们利用FILTER函数的搭档函数IF函数:
=IF(FILTER($B$2:$F$6,$B$1:$F$1=H2)="√",$A$2:$A$6,"")
如果IF函数的第一参数测试条件为TRUE时,返回$A$2:$A$6对应的姓名,否则返回空值即可。
至此“周一”所对应的值班姓名已显示出来,不过输出值为数组溢出,纵向区域显示。

要想将上一步的返回结果合并到一个单元格中,可以使用FILTER函数的另外一个搭档TEXTJOIN函数:
=TEXTJOIN(",",,IF(FILTER($B$2:$F$6,$B$1:$F$1=H2)="√",$A$2:$A$6,""))
利用TEXTJOIN函数,用分隔符逗号,跳过第2参数,将上一步的返回结果合并。

推荐阅读:传统筛选点到手抽筋? excel中FILTER函数让你告别手动筛选的烦恼
相关文章

行列转换再也不烧脑! excel中WRAPROWS函数2个参数就轻松解决
excel表格中的内容很乱,想要实现每10行内容变成一行多列内容,该怎么进行行列转换呢?我们只需要用到WRAPROWS函数进行转换,详细如下2025-08-11
新手也能学会! Excel表格一列数据拆分成多行多列的3种方法
excel表格中的数据是一列,无论是阅读还是处理数据都不方便,想要分成多列数据,该怎么操作呢?下面我们就来看看详细解决办法2025-04-30
excel新增新函数可以提取任意行列数据:CHOOSECOLS与CHOOSEROWS用法
excel又来了2个新函数,提取任意行列数据,太好用了,下面我们就来看看CHOOSECOLS与CHOOSEROWS函数用法2024-12-12
Excel如何设置打印行号列标 Excel表格文档设置打印行号列标的方法
Excel如何设置打印行号列标?我们只需要进入Excel的打印设置页面,然后在该页面中点击打开页面设置选项,接着在弹框中,我们先打开工作表选项,再在工作表页面中找到并勾选2024-06-04
excel表格中的行高列宽都是可以设置的,该怎么设置同意行高或者自动调节行高呢?今天我们就来看看excel表格行高列宽的技巧2024-03-21
Excel单元格怎么设置厘米为单位? excel列宽行高换算厘米的技巧
Excel单元格怎么设置厘米为单位?excel表格中可以设置单元格的列宽列高,默认是磅,想要修改层厘米cm,该怎么操作呢?下面我们就来看看excel列宽行高换算厘米的技巧2023-11-24
excel怎么十字追踪行和列? excel设置光标所在行列变色的技巧
excel怎么十字追踪行和列?excel表格选择数据的时候,想要让光标所在的行列变色,该怎么操作呢?下面我们就来看看excel设置光标所在行列变色的技巧2025-04-12
excel复制表格如何保持行高和列宽不变 excel复制表格行高和列宽不变的
有时需要复制粘贴表格数据,将复制的表格复制到其他地方,希望表格的行高和列宽保持不变,怎么做呢?一起来了解一下吧2022-10-13
打印表格中的数据是常有的操作,为了便于阅读查看,有时最好连行号和列号一起打印出来,一起来了解一下吧2022-10-12
excel如何设置行高和列宽?excel设置行高和列宽方法汇总
这篇文章主要介绍了excel如何设置行高和列宽?excel设置行高和列宽方法汇总的相关资料,需要的朋友可以参考下本文详细内容介绍2022-07-25







最新评论