表格轉(zhuǎn)換不翻車! excel中filter篩選函數(shù)行列互換的技巧

好久不進行答疑了,正好今天一位公眾號粉絲后臺咨詢,如何將表格1的數(shù)據(jù)布局轉(zhuǎn)換為表格2的數(shù)據(jù)布局。
如下圖所示:
A1:F6區(qū)域是一個二維格式表格。行標題為姓名,列標題為星期,姓名與星期的交叉值區(qū)域為值班標記“√”。我們想要轉(zhuǎn)換為右側(cè)表2的H1:I6區(qū)域,即一列日期,另一列是對應(yīng)日期值班的姓名。若同一日期對應(yīng)多個姓名時,不同姓名之間用逗號間隔。
這個問題我們的核心破局函數(shù)是FILTER函數(shù),并配合FILTER函數(shù)的幾個常用的搭檔函數(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ù)語法:FILTER(數(shù)組, 包含條件, [如果無結(jié)果返回])
- 數(shù)組:要篩選的數(shù)據(jù)范圍。
- 包含條件:符合篩選條件的邏輯表達式。
- 如果無結(jié)果返回(可選):如果沒有符合條件的數(shù)據(jù),可自定義返回內(nèi)容。
核心原理:
利用FILTER函數(shù),對$B$2:$F$6區(qū)域的“√”標記區(qū)域進行篩選,當符合$B$1:$F$1區(qū)域的星期值與H2單元格的星期值相同時,我們執(zhí)行對$B$2:$F$6區(qū)域?qū)?yīng)列的數(shù)據(jù)篩選命令,很明顯是篩選B列“周1”列數(shù)據(jù)。篩選出來的數(shù)據(jù)以數(shù)組溢出的方式返回。
我們做一個邏輯判斷:
=FILTER($B$2:$F$6,$B$1:$F$1=H2)="√"
使FILTER函數(shù)的返回結(jié)果等于"√",如果邏輯成立,對應(yīng)的單元格值返回TRUE,如果不成立,則返回FALSE。
通過上面的返回結(jié)果不難發(fā)現(xiàn):
通過H2單元格“周一”所篩選出來的B列“周一”列的“√”值(邏輯值TRUE),其左側(cè)對應(yīng)的姓名即“周一”所對應(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ù)測試條件為TRUE時,返回$A$2:$A$6對應(yīng)的姓名,否則返回空值即可。
至此“周一”所對應(yīng)的值班姓名已顯示出來,不過輸出值為數(shù)組溢出,縱向區(qū)域顯示。
要想將上一步的返回結(jié)果合并到一個單元格中,可以使用FILTER函數(shù)的另外一個搭檔TEXTJOIN函數(shù):
=TEXTJOIN(",",,IF(FILTER($B$2:$F$6,$B$1:$F$1=H2)="√",$A$2:$A$6,""))
利用TEXTJOIN函數(shù),用分隔符逗號,跳過第2參數(shù),將上一步的返回結(jié)果合并。
推薦閱讀:傳統(tǒng)篩選點到手抽筋? excel中FILTER函數(shù)讓你告別手動篩選的煩惱
相關(guān)文章
行列轉(zhuǎn)換再也不燒腦! excel中WRAPROWS函數(shù)2個參數(shù)就輕松解決
excel表格中的內(nèi)容很亂,想要實現(xiàn)每10行內(nèi)容變成一行多列內(nèi)容,該怎么進行行列轉(zhuǎn)換呢?我們只需要用到WRAPROWS函數(shù)進行轉(zhuǎn)換,詳細如下2025-08-11新手也能學(xué)會! Excel表格一列數(shù)據(jù)拆分成多行多列的3種方法
excel表格中的數(shù)據(jù)是一列,無論是閱讀還是處理數(shù)據(jù)都不方便,想要分成多列數(shù)據(jù),該怎么操作呢?下面我們就來看看詳細解決辦法2025-04-30excel新增新函數(shù)可以提取任意行列數(shù)據(jù):CHOOSECOLS與CHOOSEROWS用法
excel又來了2個新函數(shù),提取任意行列數(shù)據(jù),太好用了,下面我們就來看看CHOOSECOLS與CHOOSEROWS函數(shù)用法2024-12-12Excel如何設(shè)置打印行號列標 Excel表格文檔設(shè)置打印行號列標的方法
Excel如何設(shè)置打印行號列標?我們只需要進入Excel的打印設(shè)置頁面,然后在該頁面中點擊打開頁面設(shè)置選項,接著在彈框中,我們先打開工作表選項,再在工作表頁面中找到并勾選2024-06-04Excel怎么統(tǒng)一行高? Excel表格行高列寬調(diào)整技巧
excel表格中的行高列寬都是可以設(shè)置的,該怎么設(shè)置同意行高或者自動調(diào)節(jié)行高呢?今天我們就來看看excel表格行高列寬的技巧2024-03-21Excel單元格怎么設(shè)置厘米為單位? excel列寬行高換算厘米的技巧
Excel單元格怎么設(shè)置厘米為單位?excel表格中可以設(shè)置單元格的列寬列高,默認是磅,想要修改層厘米cm,該怎么操作呢?下面我們就來看看excel列寬行高換算厘米的技巧2023-11-24excel怎么十字追蹤行和列? excel設(shè)置光標所在行列變色的技巧
excel怎么十字追蹤行和列?excel表格選擇數(shù)據(jù)的時候,想要讓光標所在的行列變色,該怎么操作呢?下面我們就來看看excel設(shè)置光標所在行列變色的技巧2025-04-12excel復(fù)制表格如何保持行高和列寬不變 excel復(fù)制表格行高和列寬不變的
有時需要復(fù)制粘貼表格數(shù)據(jù),將復(fù)制的表格復(fù)制到其他地方,希望表格的行高和列寬保持不變,怎么做呢?一起來了解一下吧2022-10-13- 打印表格中的數(shù)據(jù)是常有的操作,為了便于閱讀查看,有時最好連行號和列號一起打印出來,一起來了解一下吧2022-10-12
excel如何設(shè)置行高和列寬?excel設(shè)置行高和列寬方法匯總
這篇文章主要介紹了excel如何設(shè)置行高和列寬?excel設(shè)置行高和列寬方法匯總的相關(guān)資料,需要的朋友可以參考下本文詳細內(nèi)容介紹2022-07-25