拆分成行(Excel函數集團)


將數據按B列中的斜杠拆分,結果如圖右表:

 

E列使用公式:

=TEXTSPLIT(TEXTJOIN("/",,B2:B4),,"/")

公式先使用TextJoin函數,將B2:B4全部按斜杠合並,變成“A/BB/CCC/甲/乙/XX/丙丁”

再使用TextSplit函數,將合並的結果按斜杠拆分,分隔符是第三參數,所以結果形成一列。

D列使用公式:

=SUMIF(B2:B4,"*"&E2#&"*",A2:A4)

想要一個公式一步到位也可以:

 

=VSTACK(A1:B1,LET(a,TEXTSPLIT(TEXTJOIN("/",,B2:B4),,"/"),HSTACK(SUMIF(B2:B4,"*"&a&"*",A2:A4),a)))

 

公式中用到以下M365“硬塞的”版最新函數:

拆分函數:=TEXTSPLIT(字符串, 分列分隔符, 分行分隔符, 是否忽略空單元格, 填充值)

縱向堆疊:=VSTACK(數組1, 數組2,… , 數組254)

橫向堆疊:=HSTACK(數組1, 數組2,… , 數組254)

 

PS,經測試,TextSplit的第一參數無法使用數組,這個可以理解,畢竟每個值中分隔符個數不同會導致結果不是完整矩陣,但是該函數的第五參數為填充值,貌似好像又是為填補不存在的值所用,猜測未來版本更新后,會否加上這一功能……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM