手把手教你,學會格式化文本

2021-02-06 博雅讀書社

用TEXT 函數對字符格式化

TEXT函數是使用頻率非常高的文本函數之一,雖然函數的基本語法十分簡單,但它的參數規則變化多端,因此能夠演變出十分精妙的應用。

1. TEXT函數的基本語法

TEXT函數的基本語法如下。

第一參數value,要轉換為指定格式文本的數值,也可以是文本型數字。

第二參數format_text,用於指定格式代碼,與單元格數字格式中的大部分代碼基本相同。有少部分代碼僅適用於自定義格式,不能在TEXT函數中使用。

例如,TEXT函數無法使用星號(*)來實現重複某個字符以填滿單元格的效果。同時也無法實現以某種顏色顯示數值的效果,如格式代碼「#,##0;[紅色]-#,##0」等。

但TEXT函數較自定義格式更加靈活,如可以在格式參數中引入變量,實現動態的格式設置。

除此之外,設置單元格格式與TEXT函數還有以下區別。

(1)設置單元格的格式僅僅是數字顯示外觀的改變,其實質仍然是數值本身,不影響進一步的匯總計算,即得到的是顯示的效果。

(2)使用TEXT函數可以將數值轉換為帶格式的文本,其實質已經是文本,不再具有數值的特性,即得到的是實際的效果。

2. 了解TEXT函數的格式代碼

TEXT函數的格式代碼分為4個條件區段,各區段之間用半角分號間隔,默認情況下,這四個區段的定義如下。

示例10-46  按條件返回結果

圖10-92為某單位員工技能考核的成績,B列、C列分別是兩次考試結果,D列為C列數值減去B列的結果,缺席考核的人員記為「缺席」。需要在E列將D列中的結果大於0的顯示為「升」,小於0的顯示為「降」,等於0的顯示為「持平」,文本仍顯示為「缺席」。

在E2單元格中輸入以下公式,向下複製到E9單元格。

=TEXT(D2,"升;降;持平;缺席")

3. 省略部分條件區段

在實際使用中,可以根據需要省略TEXT函數第二參數的部分條件區段,條件含義也會發生相應變化。

自定義條件的四區段可以表示如下。

示例10-47  使用TEXT函數判斷產品是否合格

圖10-93為某公司生產的鋰電池容量測試結果,產品標稱容量為8Ah,實際容量大於等於8Ah為合格,需要在B列標識出A列對應的容量是否合格。

在B2單元格中輸入以下公式,向下複製到B9單元格。

=TEXT(A2,"[>=8]合格;不合格")

公式中TEXT函數的第二參數使用兩區圖10-93 使用TEXT判斷產品是否合格段的自定義條件:當A2單元格數值大於等於8時,返回「合格」,否則返回「不合格」。

公式中以一對半角中括號包含的內容為判斷的條件,中括號後緊跟著的是符合該條件時返回的結果。

示例10-48  使用TEXT函數評定員工考核成績

圖10-94為某公司員工考核結果,需要按照B列的「考核成績」對應評級。評級標準為大於等於90分顯示為「優秀」,大於等於80分小於90分顯示為「良好」,大於等於70分小於80分顯示為「中等」,大於等於60分小於70分顯示為「及格」,小於60分顯示為「不及格」。

在C2單元格中輸入以下公式,向下複製到C9單元格。

=TEXT(TEXT(B2,"[>=90]優秀;[>=80]良好;0"),"[>=70 ]中等;[>=60]及格;不及格")

這是TEXT函數嵌套使用的典型用法,由於評級的條件一共為5個,而TEXT自定義條件的數量最多為3個,故使用兩次TEXT函數,第一次TEXT函數解決前三個條件的顯示方式,其他的內容將返回原始字符串。再利用TEXT函數解決對剩餘條件的判斷。

TEXT(B2,"[>=90]優秀;[>=80]良好;0")表示當成績大於等於90分時返回「優秀」,成績大於等於80分時返回「良好」,其他情況返回原值。這裡默認成績都為整數,如果包含小數,則第三區段的格式應寫為相應的小數位數,如兩位小數位「0.00」。否則返回的結果按照四捨五入進行計算。

外層使用TEXT將內層符合第三區段的值再次進行區分,大於等於70分時返回「中等」,大於等於60分時返回「及格」,其他情況返回「不及格」。

使用TEXT函數設置不同的數字格式

TEXT函數可用於實現類似於Excel自定義格式的功能,使用部分自定義格式代碼,作為TEXT函數第二參數,將數字設置為不同的格式。

TEXT函數中幾種常用的符號如下。

0:數字佔位符,數量不足的需補齊,如「000」則返回的整數不能小於3位數字。

#:數字佔位符,數量不足的無須補齊。

@:文本佔位符,連續使用表示重複顯示文本。

!或\:強制顯示符,如需在公式結果中顯示有特定含義的字符,需在字符前加「!」或「\」以強制其顯示出來。如果要在結果中始終顯示某個特定「0」,需寫為「!0」。如圖10-95所示,不同的TEXT函數的第二參數將數字設置為不同的格式。

示例10-49  根據條件進行判斷

圖10-96中的A列包含數字和文本,需要在B列進行判斷,如果A列為文本,則返回「文本」。如果為數字 ,正數返回「>0」,負數返回「<0」,等於0時返回「=0」。

在B2單元格中輸入以下公式,向下複製到B8單元格。

=TEXT(A2,">!0;<!0;=!0;文本")

公式中第二參數使用默認的四個區段格式定義,分別定 義第一參數大於0、小於0、等於0和為文本格式時的顯示方式。

當A2單元格中的數字大於0時,返回「>0」,但由於0在TEXT函數中是數字佔位符,要讓其在最終結果中顯示出來,需要在前面加半角感嘆號「!」。第二和第三區段的格式同理。

示例10-50  使用TEXT函數設置樓門號格式

圖10-97為某小區樓門號,A列中的數字包含樓號、單元號及門牌號。需要在B列將其格式修改為x樓x單元xxx的格式。這裡默認所有的門牌號都是3位數字,單元號都是一位數字,樓號位數不等。

在B2單元格中輸入以下公式,向下複製到B8單元格。

=TEXT(A2,"0號樓0單元000")

TEXT函數中多位數字分段顯示時,從右向左依次 滿足格式要求。公式中「"0號樓0單元000"」會優先滿足將最右側3位數顯示在「單元」後面,倒數第4位數字顯示在

「號樓」和「單元」之間,剩餘的數字顯示最前面。

因為公式中設置顯示「0號樓」,所以此處至少顯示一位數字,如果設置為「00號樓」則至少顯示兩位數字。例如,「1號樓」會顯示為「01號樓」。

示例10-51  使用TEXT函數設置項目日期格式

圖10-98為某公司項目存檔的部分內容,其中A列為項目編號,B列為項目的結束日期。需要在C列將A列和B列中的內容一起顯示,同時加上「項目編號:」和「結束日期:」作為引導。

在C2單元格中輸入以下公式,向下複製到C7單元格。

=$A$1&":"&A2&$B$1&":"&TEXT(B2,"YYYY/MM/DD")

公式中的「 $A$1&":"&A2&$B$1&":"」部分表示用「&」符號將A1單元格與冒號「:」、B1單元格中的標題及冒號「:」連接在一起。A1、B1單元格使用絕對引用使公式在向下複製時,此單元格引用不會發生變化。

「TEXT(B2,"YYYY/MM/DD")」部分將B2單元格中的日期顯示為文本格式的日期。如果不使用TEXT函數,日期在使用「&」符號與其他文本連接時,會顯示為日期的序列號。

TEXT函數使用變量參數

TEXT函數中的第二參數除了可以引用單元格格式代碼或使用自定義格式代碼字符串外,還可以通過引入變量或公式運算結果,構造符合代碼格式的文本字符串,使TEXT函數具有動態的第二參數。

參數中的「條件」區段或「格式」區段單獨引入變量,或「條件」「格式」區段同時引入變量均可。引入變量的區段格式書寫需注意,變量前後需用「&」符號與其他字符串相連;「&」符號及變量不包含在標識第二參數的半角雙引號內。

為保證書寫正確,可以先按正常順序寫完參數代碼,再添加上應有的「&」符號及雙引號。例如, 如果A2單元格減去60大於0則返回「合格」,否則返回「不合格」。可以先書寫以下公式。

然後在第二參數的A2前後分別添加「"&」和「&"」構成完整的參數。

示例10-52  TEXT函數使用變量參數

圖10-99為某項實驗記錄的部分內容,其中B列、C列分別是同批樣品兩次的測試結果。如果第二次較第一次數值有所增長,則在D列顯示第二次的測試結果且保留3位小數,如果第二次與第一次的值相等或小於第一次的結果,則返回「未增長」。

在D2單元格中輸入以下公式,向下複製到D6單元格。

=TEXT(C2,"[>"&B2&"]0.000;未增長")

公式中使用判斷條件「>B2」則顯示為3 位小數的數字,否則顯示「未增長」。

由於B2在公式中是單元格引用的變量,因此,在「B2」前後需要用「&」符號與其他字符進行相連。

數值與中文數字的轉換

TEXT函數不僅可以設置數字格式,還可以將數值與中文數字進行轉換。

示例10-53  使用TEXT函數轉換中文格式的日期

圖10-100中A列是某項目各個合同的籤訂日期,需要在B列將其修改為中文的日期格式。

在B2單元格中輸入以下公式,向下複製到B7單元格。

=TEXT(A2,"[DBnum1]yyyy年m月d日")

格式代碼「yyyy年m月d日」 用於提取A2單元格中的日期,並且年份以4位數字表示。再使用格式代碼「[DBnum1]」將其轉換為中文小寫數字格式。

示例10-54  將中文小寫數字轉換為數值

如圖10-101所示,需要將A列中的中文小寫數字轉換

為數值。

在B2單元格中輸入以下數組公式,按<Ctrl+Shift+Enter>組合鍵,向下複製到B7單元格。

{=MATCH(A2,TEXT(ROW($1:$99 99),[DBnum1]"),0)}

「ROW($1:$9999)」用於生成1~9999的自然數序列。

TEXT函數使用格式代碼[DBnum1]將其全部轉換為中文小寫格式。再由MATCH函數從中精確查找A2單元格字符所處的位置,變相完成從中文到數值的轉換。

公式適用於一至九千九百九十九的整數中文小寫數字轉換,可根據需要調整ROW函數的參數範圍。

使用RMB函數轉換貨幣格式

RMB函數可以將數字轉換為貨幣格式,同時設置指定的小數位數,其語法如下:

第一參數number為必需參數,可以是數字、包含數字的單元格的引用或計算結果為數字的公式。

第二參數decimals為可選參數,表示保留的小數位數。如果為負數,則第一參數從小數點往左按相應位數四捨五入。如果省略,則默認其值為2。

此函數依照貨幣格式將小數四捨五入到指定的位數並轉換成文本。例如,「=RMB(4528.75,2)」,返回結果「¥4,528.75」。

NUMBERSTRING函數可以將數值轉換為中文小寫數字,共有3種不同的數字格式。函數僅支持正整數,不支持包含小數的數字。基本語法如下:

第一參數為要轉換的數字或單元格引用。

第二參數為轉換類型,分別為如下結果。

「=NUMBERSTRING (1234567890,1)」返回結果為一十二億三千四百五十六萬七千八百九十。

「=NUMBERSTRING (1234567890,2)」返回結果為壹拾貳億叄仟肆佰伍拾陸萬柒仟捌佰玖拾。

「=NUMBERSTRING (1234567890,3)」返回結果為一二三四五六七八九〇。

示例10-55  使用TEXT函數生成中文大寫金額

為滿足《中華人民共和國票據法》中對中文大寫金額的書寫要求,可以使用TEXT函數將數字格式轉換為中文大寫金額。圖10-102中A列是小寫的金額,需要在B列使用公式將其轉換為中文大寫金額。

在B2單元格中輸入以下公式,向下複製到B6單元格。

=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2,2),TEXT(A2,";負")&TEXT (INT(ABS(A2)+

0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2,2),2),"[dbnum2]0角0分;;

整"),),"零角",IF(A2^2<1,,"零")),"零分","整")

公式中「RMB(A2,2)」部分的作用是依照貨幣格式將數值四捨五入到兩位小數並轉換成文本。

使用TEXT函數分別將金額數值的整數部分和小數部分及正負符號進行格式轉換。

「TEXT(A2,";負")」部分的作用是,如果A2單元格的金額小於0則返回字符「負」。

「TEXT(INT(ABS(A2)+0.5%),"[dbnum2]G/通用格式元;;")」部分的作用是將金額取絕對值後的整數部分轉換為大寫。+0.5%的作用是為了避免0.999元、1.999元等情況下出現的計算錯誤。

「TEXT(RIGHT(RMB(A2,2),2),"[dbnum2]0角0分;;整")」部分的作用是,將金額的小數部分轉換為大寫。

再使用連接符號「&」連接3個TEXT函數的結果。

IF函數對「-RMB(A2,2)」進行判斷,如果金額大於等於1分,則返回連接TEXT函數的轉換結果,否則返回空值。

最後使用兩個SUBSTITUTE函數將「零角」替換為「零」或空值,將「零分」替換為「整」。

用T函數返回值引用的文字

T函數返回值引用的文字,函數語法為:

函數隻用一個參數value,當參數為文字或引用文字,將返回該文字,如果為數字或邏輯值,將返回空文本。如果參數為錯誤值,仍返回錯誤值,如圖10 -103所示。

使用宏表函數時,由於計算結果不能實時更新,通常會在公式最後加上「&T(NOW())」。

NOW()是易失性函數,可以通過在單元格中的輸入、編輯等操作刷新結果。再 用T函數將NOW生成的日期時間返回空文本。因此&T(NOW())雖然不生成文本數據,但組合使用時可以起到自動刷新的功能。

另外,在數組公式中,T函數還被用於將OFFSET、INDIRECT等函數形成的三維引用轉為二維引用。

*註:本文部分圖片來源於網際網路,僅供學習、交流使用。不具有任何商業用途,若有侵權,請聯繫刪除。

全書分為四大部分,完整詳盡地介紹了Excel函數與公式的技術特點和應用方法。本書從公式與函數的基礎開始,逐步展開到查找引用、統計求和等常用函數應用,以及數組公式、多維引用等,形成了一套結構清晰、內容豐富的Excel函數與公式知識體系。

相關焦點

  • Web前端學習第九課,使用文本格式化標籤
    第二個就是為所要處理的文本添加格式化標籤。這種方式僅適用於文本內容。什麼是文本呢?文本就是我們平時看到一篇文章、一段話、一個句子、一個詞語、一個字或符號。它是由漢字、字母、標點符號或數字組成。2.文本格式化標籤。
  • 手把手教你用 TensorFlow 實現文本分類(上)
    利用空閒時間,想用神經網絡做一個文本分類的應用, 目的是從頭到尾完成一次機器學習的應用,學習模型的優化方法,同時學會使用主流的深度學習框架(這裡選擇tensorflow)。文章分為兩部分,本文僅實現流程,用簡單的softmax回歸對文本進行分類,後面一篇文章再從流程的各個方面對模型進行優化,達到比較好的效果。
  • Tensorflow實戰系列:手把手教你使用LSTM進行文本分類(附完整代碼)
    【導讀】專知小組計劃近期推出Tensorflow實戰系列,計劃教大家手把手實戰各項子任務。
  • 手把手教你學會文本輸入的text()接口
    不論是Airtest還是poco,都給我們提供了對應的接口來實現文本輸入的功能。當然,很多同學也跟我們反饋了一些在文本輸入過程中遇到的問題,所以下文,我們將圍繞以下幾點來向大家講述如何進行文本輸入以及如何解決文本輸入的常見問題:Airtest中的text()接口介紹1個使用text()接口的例子使用text()接口的常見問題poco中的set_text接口介紹text
  • 手把手教你學會Coildesigner翅片式換熱器設計和仿真
    手把手教你學會Coildesigner翅片式換熱器設計和仿真 原標題:手把手教你學會Coildesigner翅片式換熱器設計和仿真
  • 手把手教你6種吊瓶繩子打結方法,簡單非常實用,學會受用
    手把手教你6種吊瓶繩子打結方法,簡單非常實用,學會受用 2020-09-03 15
  • SpringBoot 全局日期格式化(基於註解)
    Cat哥領讀:json數據中的時間格式化一直都是程式設計師頭疼的問題,這裡看作者怎麼使用 @JsonComponent來處理日期。
  • Python格式化字符串(格式化輸出)
    我們在《第一個Python程序——在屏幕上輸出文本》中講到過 print() 函數的用法,這只是最簡單最初級的形式,print() 還有很多高級的玩法
  • JavaScript/HTML格式化
    JavaScript/HTML格式化 - 站長工具 可以對JS,HTML進行格式化排版,整齊的進行顯示。...JS/HTML格式化工具簡單易用的JS/HTML格式化工具請在下框輸入您要轉換的內容:懶人工具箱 全部 01. HTML/JS轉換工具 02.
  • 手把手教你蘿蔔乾的醃製方法,學會可以自己製作,清脆爽口易下飯
    手把手教你蘿蔔乾的醃製方法,學會可以自己製作,清脆爽口易下飯。我國是一個美食大國,不管是什麼食材,只要到了人們手工,能工巧匠就能用任何烹飪手法把它做出來。就比如說秋天,是很多蔬菜成熟的季節,天越冷,蔬菜可能就完全沒有了。所以秋天的菜想要吃的時間長,不經過特殊處理是保存不了的。
  • 手把手教你炸麻葉的做法,幾分鐘就可以學會!
    哈嘍大家好,我是甜馨小廚師,忙了一整天,希望美食可以緩解大家的疲勞,現在就由我來教大家做一道非常好吃的美食吧,希望大家喜歡。手把手教你炸麻葉的做法,幾分鐘就可以學會!加入300克的麵粉,加入兩克的鹽,增加筋性,加入一勺的白糖,喜歡吃甜的可以多放一點。
  • 手把手教你清洗熱水器,只需要學會這4個步驟就行了!
    你是否有過這樣的感覺?皮膚瘙癢但是找不到病因,明明洗了澡但是仍然渾身不舒服,皮膚甚至是出現了過敏的症狀。如果你一直找不到原因,實際上,你可能洗了一個髒水澡!如果真的是這樣,那該怎麼辦呢?悄悄告訴你一個小秘密,熱水器上面有個小開關,只要一打開它,髒水就能排掉了。
  • 手把手教你如何使用word添加上下標
    手把手教你如何使用word添加上下標時間:2018-04-02 10:57   來源:系統天堂   責任編輯:沫朵 川北在線核心提示:原標題:word怎麼打上標和下標? 手把手教你如何使用word添加上下標 word怎麼打上標和下標?文件中有很多需要添加上下標的地方,如何快速的增加需要標註的地方呢?不清楚如何設置的網友就看看本文。
  • 手把手教你怎麼操作
    中新經緯記者手把手來教你→ 打工人注意了,2021年度個稅專項附加扣除開始確認了。按照規定,每年12月份要對次年享受專項附加扣除的內容進行確認,確認後,才可在扣除年度生效。怎麼操作?中新經緯記者手把手來教你→ 打工人注意了,2021年度個稅專項附加扣除開始確認了。
  • U盤格式化後數據能恢復嗎?人人都能學會的恢復方法
    故障二:電腦USB接口問題,如果你使用的電腦年代陳舊,那麼很有可能他的USB接口會出現接觸不良和供電不足的情況,這些都會導致U盤等一些外界設備不能很好的連接電腦從而導致設備不能正常使用。所以出現這種情況我們試試用其他電腦打開U盤看看,如果還是出現同樣的情況那麼我們再另作打算,千萬不要盲目的格式化U盤。
  • 手把手教你在word文檔中繪製直線
    手把手教你在word文檔中繪製直線時間:2018-03-13 10:38   來源:系統天堂   責任編輯:沫朵 川北在線核心提示:原標題:word怎麼畫直線? 手把手教你在word文檔中繪製直線 word怎麼畫直線?有時候我們需要把重點的內容畫線標紅等方式表現出來,突出重點,那麼大家知道如何在word中畫線嗎?
  • 女人再笨也要學會化淡妝,手把手教你幾個步驟,連男人看一遍都會
    女人再笨也要學會化淡妝,手把手教你幾個步驟,連男人看一遍都會!現在職場基本上都是需要女性化淡妝,我們都聽說過這樣的一句俗語,那就是沒有醜女人,只有懶女人,其實有很多女生她們都是因為懶,所以會經常零零亂亂的出門了,接下來就跟大家說一下,就算是再笨也要學會化淡妝,手把手教你幾個步驟,就連男人看了一遍也能夠學會。第1個上妝前基本保溼。特別是在到了冬天天氣很乾燥不保溼怎麼上妝呢?
  • 04 - 前端開發-格式化標籤
    格式化標籤無序列表 - <ul>...
  • 手把手教你做正宗的咖喱雞塊飯,零基礎也能輕鬆學會,太香了!
    導語:手把手教你做正宗的咖喱雞塊飯,零基礎也能輕鬆學會,太香了!雖然我家平時以麵食為主,但隔三差五也會換下口味,蒸些米飯吃。下面,就手把手教你做做正宗的咖喱雞塊飯,零基礎也能輕鬆學會,太香了!快點跟著試試吧。
  • 手把手教你水果雪糕,獨特妙訣告訴你,學會再也不出去買了
    手把手教你水果雪糕,獨特妙訣告訴你,學會再也不出去買了。哈嘍大家好,歡迎來到阿宇愛美食,讓人回味無窮的味道,叫人垂涎三尺的食物,今天給大家分享一道美味佳餚,食材在市場上非常的常見,在家自己就可以做,學會以後一點也不比五星級酒店大廚做的差,用這種方法做的不僅美味而且營養豐富,老少皆宜,就算你從來都沒做過菜,一看就能學會哦!唯有美食不可辜負,話不多說,接下來就跟我一起試試吧!