excel如何合併同一行內的多個單元格的電話號碼,如下所示,將圖一合併成圖二。?


使用Power Query應該是不用寫公式也不用寫代碼,簡單操作幾步就可以搞定的

請看GIF動畫演示


office2019的話,使用textjoin。如=TEXTJOIN("/",1,A2:G2)

如無textjoin,我寫了個自定義函數joinz,支持單列或單行合併。=JOINZ(A2:A7,","),自動跳過空白單元格,末尾不帶分隔符。

Function joinz(rgs As Range, delimiter As String)
Dim i, b As String: ReDim arr(1 To rgs.Count, 1 To 1): arr = rgs
For i = 1 To rgs.Count
If rgs.Columns.Count &> 1 Then b = arr(1, i) Else b = arr(i, 1): If b = "" Then b = ""
If b &<&> "" Then joinz = joinz b delimiter
Next
joinz = Left(joinz, Len(joinz) - 1)
End Function


Office 2016或Office 365版本有個新函數TEXTJOIN可以做到

=TEXTJOIN(";",,B2:K2)


新建一行,使用將個行次連在一塊不久行啦


按照剛剛知友的提示,重新試了一下新的函數,確實快捷方便

另外,第二個參數要選擇1,這樣就會忽略空格


使用對單元格進行鏈接,如果需要可以中間間隔文本

=單元格A","單元格B","單元格C


用amp;號鏈接

低版本沒有TEXTJOIN函數,目前想到的最笨的方法,用號鏈接

=LEFT(IF(A2="","",A2";")IF(B2="","",B2";")IF(C2="","",C2";")IF(D2="","",D2";")IF(E2="","",E2";")IF(F2="","",F2";")IF(G2="","",G2";")IF(H2="","",H2";")IF(I2="","",I2";")IF(J2="","",J2";"),LEN(IF(A2="","",A2";")IF(B2="","",B2";")IF(C2="","",C2";")IF(D2="","",D2";")IF(E2="","",E2";")IF(F2="","",F2";")IF(G2="","",G2";")IF(H2="","",H2";")IF(I2="","",I2";")IF(J2="","",J2";"))-1)


直接=B2";"C2";"D2";"E2....


如何將同一行不同列的多個單元格內容匯總到一個單元格並用「;」符號分開?這裡需求就是將符合條件的多個結果合併到一個單元格上。這種要求可以說是比較少見的,這樣對數據再處理是會造成十分困難的。但是我們可以使用TEXTJOIN函數來達到我們想要的結果。

TEXTJOIN是Excel 2016版本新增加的功能,其主要是將不同區域的文本串聯在一起並且插入字元隔開。我們來看一下TEXTJION函數的用法:

TEXTJION函數

我們要將序號1-5的行內的電話號碼匯總到一起並用【;】分開,我們輸入函數=TEXTJOIN(第一個條件用什麼分開,這裡輸入";",),第二個條件是否忽略空單元格,我們選擇1或TRUE,注意這裡如果選擇0或FALSE的話會產生很多符號。因為它將空單元格都連接在一起。第三個條件是在哪個區域連接;注意這裡的我們還要往下拉,所以列號要相對引用,以防止拖動時變亂。

最終我們輸入公式:=TEXTJOIN(";",1,"$B2:$K2)

其中:

";" 是要在文本之間插入的字元(注意:文本用雙引號)

1 代表TRUE,公式則忽略空單元格

$B2:$K2 是要連接的區域


如何用公式函數之類的批量處理?


推薦閱讀:

如何將圖片轉成EXCEL?
如何將一個Excel表格裡面的多個工作表中相同名稱對應的數據匯總?
表格Excel問題,如何讓b列同步a列位置?
如何更快匯總兩百個表格的數據?
新手必會的八個Excel技巧,個個實用

TAG:MicrosoftExcel | Excel公式 | Excel使用 | Excel技巧 | Excel函數 |