大家好,這一章給大家分享好幾組函數的嵌套搭配: INDEX+ROW EXPAND+TOCOL TEXTJOIN+TEXTSPLIT+REPT 案例如下:
下方有視頻的解析,如果覺得函數不太清楚可以直接觀看下方的視頻解析. 文字解析部分: 案例1:固定次數顯示案例 EXPAND+COL =EXPAND(B4:B12,,C4) 擴展函數將1列擴展成3列. 將錯誤值變成人名列,就變成了3列同樣的內容,因為EXPAND最后一個參數無法做數組,所以你可以用IFERROR去將錯誤值轉化: 最后使用TOCOL函數轉換成一列顯示: =TOCOL(IFERROR(EXPAND(B4:B12,,C4),B4:B12)) INDEX+ROW 用ROW函數比如你是需要重復3次就選擇ROW(B3)A3都行總之就是第三行然后除以3 =ROW(B3)/$C$4 這個樣子1開頭就有3個2開頭就有3個以此類推. 然后用INDEX函數就可以得到結果, INDEX去1.3會取1,當然如果你要看上去美觀也可以加上INT取整. =IFERROR(INDEX($B$4:$B$12,ROW(B3)/$C$4),"") TEXTJOIN+TEXTSPLIT+REPT 這個搭配非常有意思,首先你可以選擇人名列,然后重復若干次,姓名就會重復N次,但是這個樣子接下來不好處理. =REPT(B4:B12,C4) 所以,你在寫REPT函數的時候在人名后面加上一個逗號, 結果如下所示: =REPT(B4:B12&",",C4) 由于每一組姓名后面都有一個逗號,你只需要把這些內容再次合并在一起,就可以得到每一個姓名重復次數都滿足的并且中間都有逗號進行連接的樣子: =TEXTJOIN(,,REPT(B4:B12&",",C4)) 分攤到每個單元格,然后使用TEXTSPLIT函數進行逗號的拆分,就可以得到最后的結果: =TEXTSPLIT(TEXTJOIN(,,REPT(B4:B12&",",C4)),,",") 案例2:條件次數顯示案例 和上一個函數使用案例一樣,首先使用REPT函數進行姓名對應的單元格重復顯示,同樣會出現后期無法處理的問題. =REPT(B4:B12,C4:C12) 所以在后面連接一個符號方便合并和拆分: =REPT(B4:B12&",",C4:C12) 最后使用TEXTJOIN合并和TEXTSPLIT拆分就可以得到最后的結果: =TEXTSPLIT(TEXTJOIN(,,REPT(B4:B12&",",C4:C12)),,",") 如果你還有不太清楚的地方,可以直接觀看視頻解析. 如果想要系統學習Excel,可以看看這個鏈接: ![]() ![]() ![]() |
|
來自: bookstore520 > 《老徐的Excel》