日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

文本合并是辦公常用技能,夢想菜鳥變達人,這兩個技巧知道的越早越好!

 EXCEL應用之家 2025-04-28 發(fā)布于上海


歡迎轉(zhuǎn)發(fā)和點一下“看”,文末留言互動!

置頂公眾號或設為星標及時接收更新不迷路

小伙伴們好,今天要和大家分享一道文本題目。如下圖,我們需要將A列的信息每三個一組,合并到一個單元格中。

在今天的推文中,將會向大家介紹兩種方法來解決這個問題。

01

函數(shù)公式法

如果要使用函數(shù)來做這道題目,那我們首先需要做一列輔助列。如下圖中的B列,在單元格B2中輸入公式“=“T”&B2”,并向下拖曳。完成后將公式粘貼為數(shù)值。這里的“T”是隨便寫的文本字符。

這樣做的目的是,我們后面要使用PHONETIC這個函數(shù)。而這個函數(shù)只能合并文本,所以需要將源數(shù)據(jù)中的數(shù)值型數(shù)據(jù)轉(zhuǎn)換為文本。

在單元格D2中輸入下列公式,并向下拖曳即可。

=SUBSTITUTE(MID(PHONETIC(OFFSET(B$1,(ROW(A1)-1)*3+1,,3,1)),2,100),"T",CHAR(10))

這是一條多函數(shù)的綜合應用,除了PHONETIC函數(shù)之外,其余的大家都比較熟悉了。

OFFSET(B$1,(ROW(A1)-1)*3+1,,3,1)

以單元格B1為基點向下偏移,分別移動到第1、4、7、...行。偏移后的區(qū)域行高是3行。

PHONETIC(OFFSET(B$1,(ROW(A1)-1)*3+1,,3,1))

利用PHONETIC函數(shù)將區(qū)域中的文本數(shù)據(jù)合并。注意,這個函數(shù)只能合并文本數(shù)據(jù)。這就是為什么我們要在前面將B列中的數(shù)據(jù)都粘貼為數(shù)值。

MID(PHONETIC(OFFSET(B$1,(ROW(A1)-1)*3+1,,3,1)),2,100)

利用MID函數(shù)從第二個位置開始提取字符串,長度為100(足夠大)。

SUBSTITUTE(MID(PHONETIC(OFFSET(B$1,(ROW(A1)-1)*3+1,,3,1)),2,100),"T",CHAR(10))

最后利用SUBSTITUTE函數(shù)將字符串中間的“T”替換為換行符。

02

VBA代碼

其實,使用VBA代碼做這道題目更簡單。

完整代碼如下:

Sub 疊加()    Dim i%, m%, n%, arr As Variant, brr As Variant    On Error Resume Next    arr = Range("A2:A38")    ReDim brr(1 To 15, 1 To 1)    For i = 1 To UBound(arr) Step 3        m = m + 1        For n = i To i + 2            If brr(m, 1) <> "" Then                brr(m, 1) = brr(m, 1) & Chr(10) & arr(n, 1)            Else                brr(m, 1) = arr(n, 1)            End If        Next    Next    [C2].Resize(UBound(brr), 1) = brrEnd Sub

這段代碼更加簡潔易懂。

For n = i To i + 2    If brr(m, 1) <> "" Then        brr(m, 1) = brr(m, 1) & Chr(10) & arr(n, 1)    Else        brr(m, 1) = arr(n, 1)    End IfNext

對于動態(tài)數(shù)組brr,如果還沒有錄入數(shù)據(jù),則對第一個位置錄入數(shù)組arr中的第一個數(shù)據(jù)。如果已經(jīng)錄入了數(shù)據(jù),則通過循環(huán)合并當前數(shù)據(jù)后面的兩個數(shù)據(jù)。

For i = 1 To UBound(arr) Step 3    m = m + 1    For n = i To i + 2        If brr(m, 1) <> "" Then            brr(m, 1) = brr(m, 1) & Chr(10) & arr(n, 1)        Else            brr(m, 1) = arr(n, 1)        End If    NextNext

當前循環(huán)完成后,通過變量m和n來處理數(shù)組brr中其它位置上的數(shù)據(jù),直至整個循環(huán)完成。

-END-

我就知道你“在看”

推薦閱讀

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多