表格轉(zhuǎn)換不翻車! excel中filter篩選函數(shù)行列互換的技巧
好久不進(jìn)行答疑了,正好今天一位公眾號(hào)粉絲后臺(tái)咨詢,如何將表格1的數(shù)據(jù)布局轉(zhuǎn)換為表格2的數(shù)據(jù)布局。
如下圖所示:
A1:F6區(qū)域是一個(gè)二維格式表格。行標(biāo)題為姓名,列標(biāo)題為星期,姓名與星期的交叉值區(qū)域?yàn)橹蛋鄻?biāo)記“√”。我們想要轉(zhuǎn)換為右側(cè)表2的H1:I6區(qū)域,即一列日期,另一列是對(duì)應(yīng)日期值班的姓名。若同一日期對(duì)應(yīng)多個(gè)姓名時(shí),不同姓名之間用逗號(hào)間隔。

這個(gè)問(wèn)題我們的核心破局函數(shù)是FILTER函數(shù),并配合FILTER函數(shù)的幾個(gè)常用的搭檔函數(shù)共同解決。
首先輸入函數(shù):
=TOCOL(B1:F1)
利用TOCOL函數(shù)將B1:F1區(qū)域的一行星期值轉(zhuǎn)換為一列(行轉(zhuǎn)列)放置到H2:H6區(qū)域。

核心函數(shù)公式:
=FILTER($B$2:$F$6,$B$1:$F$1=H2)
函數(shù)語(yǔ)法:FILTER(數(shù)組, 包含條件, [如果無(wú)結(jié)果返回])
- 數(shù)組:要篩選的數(shù)據(jù)范圍。
- 包含條件:符合篩選條件的邏輯表達(dá)式。
- 如果無(wú)結(jié)果返回(可選):如果沒(méi)有符合條件的數(shù)據(jù),可自定義返回內(nèi)容。
核心原理:
利用FILTER函數(shù),對(duì)$B$2:$F$6區(qū)域的“√”標(biāo)記區(qū)域進(jìn)行篩選,當(dāng)符合$B$1:$F$1區(qū)域的星期值與H2單元格的星期值相同時(shí),我們執(zhí)行對(duì)$B$2:$F$6區(qū)域?qū)?yīng)列的數(shù)據(jù)篩選命令,很明顯是篩選B列“周1”列數(shù)據(jù)。篩選出來(lái)的數(shù)據(jù)以數(shù)組溢出的方式返回。

我們做一個(gè)邏輯判斷:
=FILTER($B$2:$F$6,$B$1:$F$1=H2)="√"
使FILTER函數(shù)的返回結(jié)果等于"√",如果邏輯成立,對(duì)應(yīng)的單元格值返回TRUE,如果不成立,則返回FALSE。

通過(guò)上面的返回結(jié)果不難發(fā)現(xiàn):
通過(guò)H2單元格“周一”所篩選出來(lái)的B列“周一”列的“√”值(邏輯值TRUE),其左側(cè)對(duì)應(yīng)的姓名即“周一”所對(duì)應(yīng)的值班姓名。
所以我們利用FILTER函數(shù)的搭檔函數(shù)IF函數(shù):
=IF(FILTER($B$2:$F$6,$B$1:$F$1=H2)="√",$A$2:$A$6,"")
如果IF函數(shù)的第一參數(shù)測(cè)試條件為TRUE時(shí),返回$A$2:$A$6對(duì)應(yīng)的姓名,否則返回空值即可。
至此“周一”所對(duì)應(yīng)的值班姓名已顯示出來(lái),不過(guò)輸出值為數(shù)組溢出,縱向區(qū)域顯示。

要想將上一步的返回結(jié)果合并到一個(gè)單元格中,可以使用FILTER函數(shù)的另外一個(gè)搭檔TEXTJOIN函數(shù):
=TEXTJOIN(",",,IF(FILTER($B$2:$F$6,$B$1:$F$1=H2)="√",$A$2:$A$6,""))
利用TEXTJOIN函數(shù),用分隔符逗號(hào),跳過(guò)第2參數(shù),將上一步的返回結(jié)果合并。

推薦閱讀:傳統(tǒng)篩選點(diǎn)到手抽筋? excel中FILTER函數(shù)讓你告別手動(dòng)篩選的煩惱
相關(guān)文章

行列轉(zhuǎn)換再也不燒腦! excel中WRAPROWS函數(shù)2個(gè)參數(shù)就輕松解決
excel表格中的內(nèi)容很亂,想要實(shí)現(xiàn)每10行內(nèi)容變成一行多列內(nèi)容,該怎么進(jìn)行行列轉(zhuǎn)換呢?我們只需要用到WRAPROWS函數(shù)進(jìn)行轉(zhuǎn)換,詳細(xì)如下2025-08-11
新手也能學(xué)會(huì)! Excel表格一列數(shù)據(jù)拆分成多行多列的3種方法
excel表格中的數(shù)據(jù)是一列,無(wú)論是閱讀還是處理數(shù)據(jù)都不方便,想要分成多列數(shù)據(jù),該怎么操作呢?下面我們就來(lái)看看詳細(xì)解決辦法2025-04-30
excel新增新函數(shù)可以提取任意行列數(shù)據(jù):CHOOSECOLS與CHOOSEROWS用法
excel又來(lái)了2個(gè)新函數(shù),提取任意行列數(shù)據(jù),太好用了,下面我們就來(lái)看看CHOOSECOLS與CHOOSEROWS函數(shù)用法2024-12-12
Excel如何設(shè)置打印行號(hào)列標(biāo) Excel表格文檔設(shè)置打印行號(hào)列標(biāo)的方法
Excel如何設(shè)置打印行號(hào)列標(biāo)?我們只需要進(jìn)入Excel的打印設(shè)置頁(yè)面,然后在該頁(yè)面中點(diǎn)擊打開(kāi)頁(yè)面設(shè)置選項(xiàng),接著在彈框中,我們先打開(kāi)工作表選項(xiàng),再在工作表頁(yè)面中找到并勾選2024-06-04
Excel怎么統(tǒng)一行高? Excel表格行高列寬調(diào)整技巧
excel表格中的行高列寬都是可以設(shè)置的,該怎么設(shè)置同意行高或者自動(dòng)調(diào)節(jié)行高呢?今天我們就來(lái)看看excel表格行高列寬的技巧2024-03-21
Excel單元格怎么設(shè)置厘米為單位? excel列寬行高換算厘米的技巧
Excel單元格怎么設(shè)置厘米為單位?excel表格中可以設(shè)置單元格的列寬列高,默認(rèn)是磅,想要修改層厘米cm,該怎么操作呢?下面我們就來(lái)看看excel列寬行高換算厘米的技巧2023-11-24
excel怎么十字追蹤行和列? excel設(shè)置光標(biāo)所在行列變色的技巧
excel怎么十字追蹤行和列?excel表格選擇數(shù)據(jù)的時(shí)候,想要讓光標(biāo)所在的行列變色,該怎么操作呢?下面我們就來(lái)看看excel設(shè)置光標(biāo)所在行列變色的技巧2025-04-12
excel復(fù)制表格如何保持行高和列寬不變 excel復(fù)制表格行高和列寬不變的
有時(shí)需要復(fù)制粘貼表格數(shù)據(jù),將復(fù)制的表格復(fù)制到其他地方,希望表格的行高和列寬保持不變,怎么做呢?一起來(lái)了解一下吧2022-10-13
excel如何打印行號(hào)和列號(hào) excel打印行號(hào)和列號(hào)方法
打印表格中的數(shù)據(jù)是常有的操作,為了便于閱讀查看,有時(shí)最好連行號(hào)和列號(hào)一起打印出來(lái),一起來(lái)了解一下吧2022-10-12
excel如何設(shè)置行高和列寬?excel設(shè)置行高和列寬方法匯總
這篇文章主要介紹了excel如何設(shè)置行高和列寬?excel設(shè)置行高和列寬方法匯總的相關(guān)資料,需要的朋友可以參考下本文詳細(xì)內(nèi)容介紹2022-07-25






