excel字符合併技巧:幾種連接字符串的方法助你高效辦公

2020-10-20 部落窩教育BLW

編按:哈嘍,大家好!用excel連接字符串,是我們在日常工作中,比較常用的技巧。相信大家使用最多的連接方式就是「&」。但其實,在excel中連接字符串的方法有很多,並且,看似不怎麼起眼的連接字符串在某些特定的場合卻有著神奇的妙用。是不是很好奇呢?趕緊跟著作者E圖表述的步伐,來看看吧!

*********

【前言】

在使用EXCEL的實際應用中,我們經常會為了統計方便,把數據元素分的相對詳細一些,那麼統計的維度也就會多一些。同樣的,有的時候我們也需要把拆分的很詳細的內容,再合併成一個內容放在一個單元格中,有可能是為了引用,也有可能是為了標識或者閱讀。舉一個常見小例子——比如說《日數據匯報》。

為了統計方便,我們一定會做成1:2行的內容;可是如果領導需要我們做匯報,建議還是製作成5:8行的方式,這樣可讀性更高。

【正文】

為了更加便捷的使用EXCEL處理這類問題,EXCEL給我們準備了很多的方法——&CONCATENATEPHONETIC函數來處理,也會有一些「外力」的方式來解決。今天我們就用同一個模擬數據來給大家分別地介紹,希望能夠讓同學們在遇到類似的問題時,可以不至於手忙腳亂。

【數據源】

數據源處理需求:連接每個欄位的值,形成新的字符串填入H列。

我們的模擬數據,採用了「純數字」的格式,為了便於字符串連接的通用性,我們也使用了「一位數字」的方式,大家可以把其中的某個數字理解為需要連接的字符串亦可,看下面內容之前,先想想我們會採用什麼方式解決。帶著思考學習,將對於同學們吸收知識和靈活應用函數大有裨益。

【解法】

方法一

I2單元格函數:

=A2&B2&C2&D2&E2&F2&G2

這個應該是同學們使用最多的連接字符串的方式了,沒有什麼好多介紹的。

方法二

I2單元格函數:

=CONCATENATE(A2,B2,C2,D2,E2,F2,G2)

CONCATENATE函數最多可以連接255個參數,總字符最大不得超過8192個。在EXCEL365版本中,有幾個新的函數,其中CONCAT函數算是CONCATENATE函數的升級版了,但是因為高版本的EXCEL還不是那麼普及,我們就不說這些沒法讓大家都測試的內容了。

另外,很多人都說EXCEL2016版本有這幾個新增的函數TEXTJOINCONCATIFSDATESTRINGNUMBERSTRINGIFSMINIFSMAXIFS,但是據作者E圖表述所知,不是所有的EXCEL2016版本都有這幾個函數。據說在EXCEL2016版本測試的時候是有這幾個函數的,但出了EXCEL365版本之後,就在EXCEL2016中取消了。不得而知吧,如果大家有條件的話,還是建議使用高版本的EXCEL,可以嘗試很多新功能。

方法三

I2單元格函數:

{=SUM(A2:G2*10^(COUNTA(A2:G2)-COLUMN(A:G)))}

這是一個數組函數,需要在輸入完函數的時候,以「CTRL+SHIFT+ENTER」三鍵結束函數錄入,而且只適用於單元格中是一位數字的數據源。

函數解析:

這個函數利用了數學思維,以第一行的數據為例,思路如下表:

那麼我們看看每一位上對應的「0」有什麼規律,我們的函數是不是很完美的達到了我的要求:

由上表我們就可以看出COUNTA(A2:G2)-COLUMN(A:G)這部分函數,可以幫我們計算出每一位上會有幾個0,在用10^^是乘冪的意思,相當於POWER函數的用法)確定每一個欄位中的數字是哪位數。如10^6 ,即106次方,就等於1000000,整體的函數如下表所列:

再把對應的乘積相加是不是就是我們的結果了?在這裡要給同學們一個建議:如果想學好數組函數,就一定要提高「邏輯思維」的能力,上面的這三張表就是我們數組函數的計算過程,我們編寫這個函數的過程,基本就是以這個思路,再選擇相對應的函數來編輯的。也就是說能夠允許我們沒有計算機運行的速度,但是一定要有和計算機一樣的運行思路。

方法四

巧借其他程序來解決。 

為了EXCEL函數「小白」們日常也有好的方法操作這類問題,作者E圖表述也給你們總結出這個方法,純操作,但是也是「秒殺」式的得到結果,希望能幫到不同程度的同學是作者的初心。

方法五

前面說了這麼多方法,但是肯定有人會說「作者漏了一個函數」。

是的,對於連接字符串這類問題,確實還有一個函數可以使用——PHONETIC函數。還記得我們開篇說的這個數據源的問題嗎?我們用的是「數值格式的數字」,對於這個格式的數據,PHONETIC函數是不能夠連接的。那麼這道題就不能用PHONETIC函數了嗎?當然可以用啦。

同學們看明白了嗎?當我們將單元格格式設置為文本之後,再次輸入數字,PHONETIC函數就可以連接這些內容了。但一個一個的輸入,確實很累,這時候我們可以選中源數據區域中的某列數據,使用「分列」功能,將數據逐列轉換為文本,那麼這個題就解決了。

【應用】

作者E圖表述所作的一切EXCEL教程,都是本著一個宗旨:不做通用基礎教程,不做沒有實際意義的教程,力求「簡單暴力」的解決同學們工作中的問題。所以我認為:沒有實際案例的教程都是耍流氓!那麼今天的「連接字符串」的功能有什麼實際存在的意義呢?

案例一:製作日數據匯報

前文的小案例展示還記得吧,如果你細心、耐心地看到了這裡,那麼就可以看到更加優化的日數據匯報的格式。我們在A6單元格輸入函數(我們這裡合併了A6:C6區域單元格,再縮進3個字節,是為了轉發時更美觀。)

="匯報日期:"&

TEXT(A2+1,"yyyymmdd")&

CHAR(10)&

"      28日營業額:"&ROUND(B2/10000,2)&"萬元,"&

CHAR(10)&

"      上周營業額:"&ROUND(C2/10000,2)&"萬元,"&

CHAR(10)&

"      本周已銷售:"&ROUND(D2/10000,2)&

"萬元!"

使用「&」連接了各個字符串,由此我們可以發現,無論是函數返回值、文本字符串都可以使用「&」連接。接著使用CHAR10)返回換行符,使要發送的內容更有層次感,這樣我們在要發送數據的時候,直接複製粘貼,再點發送就完工了。

這裡值得一說的是:字符串連接後,其中的任何內容都是不帶格式的,比如日期格式、會計專用格式等等,在字符串連接後只保留常規格式,所以我們經常需要使用其他函數來轉換,就像案例中的TEXT函數將數據的格式轉換成日期格式一樣。

案例二:快速製作數據有效性的下拉內容

用數據驗證製作下拉菜單,相信很多同學都會,如果只有三、五種選項,我們直接在數據驗證窗口中錄入就好了。如果內容很多的話,我們也可以使用名稱管理器。那麼借今天文章的主題,我們也可以採用PHONETIC函數來製作。

當然,從建模的角度來說,對於下拉菜單的做法,作者E圖表述還是主推「自定義名稱」結合「數據驗證」的方式來做,可以形成動態的下拉菜單內容。本案例是幫助不會複雜操作的同學,也可以有一個快速操作的體驗而設計的。

案例三:經典嵌套INDIRECT+CONCATENATE

我們還用之前的數據,假設我們要把表《方法一》到表《方法五》中,每個表中的A列數據求和,列在一個匯總表裡(典型的總-分式匯總表)。如下圖所示:

B2單元格輸入函數:

{=SUM(--INDIRECT(CONCATENATE(A2,"!A2:A16")))}

輸入完成後,按數組函數的結束鍵CTRL+SHIFT+ENTER三鍵結束。

函數解析:

A2單元格的值為「方法一」,「!A2:A16」是一個字符串,用CONCATENATE函數將二者連接起來,就形成了一個跨表引用的地址文本值。

再用INDIRECT函數,「激活」這個地址,形成引用,最後用SUM函數對這個區域內容求和即可。不熟悉INDIRECT函數的小夥伴可以閱讀下往期教程《大神專用求和公式!帶你揭秘自動統計前幾名數據合計的新套路!(下篇)

為什麼用了「--」?日常中我們可以不使用「--」和「三鍵」的,因為我們剛才把《方法五》中的A列分列成了「文本」格式,SUM不能對文本數據求和,所以這裡我們用了「--」,將文本型數據轉換成了數值型數據。

【編後語】

&CONCATENATE函數、PHONETIC函數,我們都有了整體的介紹,也都給際了一個案例的展示,實工作中還是要看每個人對於函數原理的理解和使用思路,函數語法和功能是死的,只有明白其應用的範疇,才可以靈活掌握。今天的教程就到這裡了,多加練習吧。

****部落窩教育-excel合併單元格內容****

原創:E圖表述/部落窩教育(未經同意,請勿轉載)

相關焦點

  • excel合併文本字符串的方法,速度超快!
    例圖2方法:1.文本運算符只有一個文本串連字符「&」,用於將兩個或多個字符串連接起來,比如:「天天"&總結:當我們需要合併較少的文本字符串時,我們用文本運算符& 合併文本字符串比較簡單。
  • Excel實用技巧之關於字符串連接的方法,問題和技巧
    今天介紹一下在Excel中連接字符串的方法和小技巧大家都知道,在Excel中不同的字符串相連,可以使用「&」運算符:這個函數將需要連接的字符串作為參數,然後將這些參數連接成為一個字符串。所以,字符串連接很簡單,但是問題是如果要連接的字符串比較多的時候,這個公式就會比較麻煩:
  • Excel實用公式4:從分隔符連接的字符串中提取子字符串
    微信公眾號:excelperfect 有時候,在工作表單元格中有一些以某分隔符連接的字符串
  • Excel小技巧|三種方法計算算式字符串
    Excel中針對一列算式字符串的問題,如果才能計算得出正確結果?如下圖所示,A列是一列算式字符串,如何計算其正確的結果,即如何在算式字符串前面加個"="並使之正常計算,這裡我們用三種方法處理,總有一種適合你哦!
  • Python中如何分割、合併字符串
    它的格式是下面這樣的:strlist = string.split(sep,maxsplit)上面的strlist代表了分割後的字符列表;字符串string後用一個英文半角句號「.」連接split函數;小括號「()」
  • 在Excel中合併單元格字符的函數
    在Excel中合併單元格字符的函數在通常對於單元格字符串的合併有&連接符和CONCATENATE函數,還有一個就是PHONETIC 函數。PHONETIC用於單元格字符合併,是對某區域字符合併。在合併單元格時,不僅是忽略空白單元格的合併,而且同樣不支持數字、日期、時間以及任何公式生成的值的連接。
  • Python語言中字符串的拆分,連接及拼接
    如果您猜的到 因為字符串是一種特殊類型,所以.split( )是一個實例方法,那麼您就是正確的!在其它一些語言(如Perl)中,是將原始字符串用作獨立的.split( )函數的輸入,而不是使用方法調用字符串本身。注意:如何調用字符串方法這裡顯示的 .split()這種寫法就是對字符串實例進行調用的方法。
  • 喜迎2019,先從學習文本、字符合併實用技巧走起……
    數據拆分,大家可以用到前面已經講過的Ctrl+E來輕鬆實現,但如果數據本身是分開的,現在需要將其合併在一起,你知道用什麼方法嗎?一、「&」符號法。解讀:1、&符號法沒有多餘的參數要求,只需將需要合併的單元格用「&」連接起來即可,但是記得前提是輸入等號(=)哦!2、也可以連接列單元格哦,但是無法合併區域數據。
  • ASP.NET資料庫連接字符串總結
    2.連接Excel資料庫  Excel 2003:  「provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access文件路徑;extended properties=excel 8.0」  Excel 2007:  「provider=Microsoft.Ace.OLEDB.12.0;
  • JS-字符串截取方法
    2、stringObject.substring(form, to)參數說明:返回值說明:    該方法返回一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內容是從 form 處到 stop-1 處的所有字符,其長度為
  • JS中字符串常見幾種的方法
    這篇文章主要介紹了Javascript字符串常用方法詳解的相關資料,在平時工作中經常會用到的,非常不錯,需要的朋友可以參考下。1:charAt()方法charAt()返回字符串中x位置的字符,下標從 0 開始。<!
  • 在C語言中如何高效地複製和連接字符串?
    儘管這些函數可以同樣很容易地定義為返回一個指針來指向最後一個複製的字符(或它的後一位),而且事實證明這種做法也非常有用。兩個或多個字符串的連接操作的最佳複雜度和字符數量成線性關係。但是,如上所述,讓函數返回指向目標字符串的指針會導致操作的效率明顯低於最佳效率。該函數遍歷源字符串序列和目標字符串序列,並獲取指向這兩個序列末尾的指針。
  • MATLAB字符串連接問題--個人筆記(轉)
    由於很多高頻數據的日期和時間都是單獨存放的字符串,即把日期放在一列,把時間放在一列,這時為了需要,需把日期和時間合併成一列,然後用matlab轉化成數字型日期,具體作法有兩種:  第一種:利用字符串連接法  第二種:利用數字型日期相加法  例子:現在有如下的字符型日期,需要轉化為時間序列數字型向量  '04/22/
  • Excel技巧—超實用的字符串拆分小技巧
    我們每天都在Excel中各種操作,本質上來說就是對各種數據進行操作,而這些數據專業點來說就是字符串。因此熟悉各種對字符串的操作對於Excel日常工作中是非常有好處的。而今天小編在這裡給大家分享幾個超實用的字符串拆分小技巧。
  • 字符串本地化
    因為這一期的主題是字符串,所以本文主要探討字符串的本地化。字符串本地化有兩種方法:修改代碼或修改 nib 文件和 storyboard。本文將專注於通過代碼實現字符串的本地化。NSLocalizedStringNSLocalizedString 這個宏是字符串本地化的核心工具。
  • Python語言中字符串的拆分,連接及拼接(下篇)
    :join( )方法最常見的情形是當有一個像是由字符串組成的可迭代列表,您想要把這些字符串列表合成一個字符串,這時候就需要用到.join()方法。除了在連接字符串時添加空格外,不用做任何事情就可以大大提高輸出的可讀性。 在進行人機互動設計連接字符串,這一點您應該牢記住。
  • 10個很棒的 JavaScript 字符串技巧
    我們稱一個字符序列為字符串。這幾乎是所有程式語言中都有的基本類型之一。這裡跟大家展示關於 JS 字符串的10個很棒的技巧,你可能還不知道哦?1.如何多次複製一個字符串JS 字符串允許簡單的重複,與純手工複製字符串不同,我們可以使用字符串的repeat方法。2. 如何填充一個字符串到指定的長度有時,我們希望字符串具有特定長度。
  • C sharp 編程基礎之字符串及字符串提供的各種方法解析
    在 C# 中,您可以使用字符數組來表示字符串,但是,更常見的做法是使用 string關鍵字來聲明一個字符串變量。string 關鍵字是 System.String 類的別名。當你給一個字符串重新賦值之後,老值並沒有銷毀,而是重新開闢一塊空間存儲新值。
  • Swift字符串和字符
    字符串連接操作只需要簡單地通過 + 號將兩個字符串相連即可。與 Swift 中其他值一樣,能否更改字符串的值,取決於其被定義為常量還是變量。儘管語法簡易,但 String 類型是一種快速、現代化的字符串實現。每一個字符串都是由獨立編碼的 Unicode 字符組成,並提供了用於訪問這些字符在不同的Unicode表示的支持。
  • 幾個常用的Excel字符串函數,職場人精英必備,直接複製使用
    【用途】將兩個或多個文本字符串連接成一個字符串【實例】如下圖將B3、C3單元格文字合併到E3單元格中,在E3單元格中輸入公式:=CONCATENATE(B3,C3),演示如下圖:二、REPLACE函數【語法】REPLACE(old_text, start_num, num_chars, new_text)【用途】將特定位置的字符串替換為不同的文本字符【實例】把B11單元格中「帶給」替換為「分享」,在B13單元格中輸入公式:=REPLACE(B11,11,4,"分享"),演示如下圖: