有時我們會遇到需要兩列甚至多列的數據需要合并,如上圖例子,通常我們會手動直接將B列的內容復制到A列末尾,就形成了兩列數據的合并。但是經常需要使用這種合并時,這種方法并不夠高效,而且一旦AB列的內容變化了,合并列的內容就要重新手動更新,所以想要解決這個問題,我們可以通過用EXCEL公式來實現這“將多列數據拼接成一列”的效果,這樣只要在AB列輸入更改內容,D列合并列的內容就能自動更新。 我們要理解,這種非內容的合并,其實就是將多個數組合并成一個數組,所以可以利用數組來實現,方法有以下三種: 第一種:VSTACK函數 以文章開頭的例子為舉例,我們只要在D1單元格中輸入公式 =VSTACK(A1:A4,B1:B5) 這個函數比較簡單,但是要注意,用這個函數準確選擇要合并的單元格區域,不能多選,多選空白單元格會在合并后顯示為0。 第二種:TOCOL函數 以文章開頭的例子為舉例,我們只要在D1單元格中輸入公式 =TOCOL(A:B,1,TRUE) 這個函數也比較簡單,但是它選擇組合的單元格區域必須是一體的,也就是如果想要組合兩個列數據,就必須把兩列數據放在相鄰的列。 第三種:TEXTSPLIT函數+TEXTJOIN函數 以文章開頭的例子為舉例,我們只要在D1單元格中輸入公式 =TEXTSPLIT(TEXTJOIN("#",TRUE,A:A,B:B),,"#",TRUE,TRUE) 這個組合函數稍微復雜一點,拆分講解:首先使用TEXTJOIN函數(將數組用分隔符連接成字符串的函數)【TEXTJOIN("#",TRUE,A:A,B:B)】將AB兩列的內容用分隔符“#”串聯起來得到字符串【香蕉#蘋果#雪梨#葡萄#西瓜#哈密瓜#橙子#菠蘿#甘蔗】,然后用TEXTSPLIT函數(將字符串拆分成數組的函數)【TEXTSPLIT(字符串,,"#",TRUE,TRUE)】將字符串重新按“#”拆分成數組。這里要注意,使用的分隔符可以自定義,不過必須是AB列中沒有的字符,否則拆分時會產生錯誤。 總結: 以上三種方法都有各自的缺點—— 第一種:VSTACK函數,它不能選擇多余的空白單元格,這在需要增加列內容時就需要重新更新公式 第二種:TOCOL函數,它選擇組合的單元格區域必須是一體的,如果數據來源于不相鄰的列或者不同表,就需要遷移數據 第三種:TEXTSPLIT函數+TEXTJOIN函數,它選擇的分隔符必須是要合并的數據中沒有的字符,假如有就會導致數據分隔錯誤 所以在合并數據時,需要根據具體運用的數據的特性選擇合適的一種方法。 以上內容對您有幫助可以分享或轉藏,避免以后找不到。想要了解更多excel函數公式用法,歡迎到http://moqingyan.360doc.com我的個人圖書館查看。 |
|