小數轉百分數
B2/B12得到一個小數,格式【"#.00%"】將其轉為百分數,如果不需要小數部分,可設置為【"#%"】
=TEXT(B2/$B$12,"#.00%")
顯示為“萬元”
=TEXT(B2,"#!.0000萬元")
產生單號
通過TEXT控制格式,產生日期+序號格式的單號。
=TEXT(C2,"yymmdd")&TEXT(D2,"000")
第一個TEXT將日期轉換為數字格式,第二個TEXT將數字序號控制為3位數顯示,確保單號長度統一。
數字轉大寫,大寫轉數字
TEXT設置為"[DBNum2]"就可以把數字轉為大寫,這已經不是秘密,網絡上有大量的教程。
=TEXT(A2,"[DBNum2]")
大寫又轉為數字呢?直接用TEXT轉換似乎行不通。
=XLOOKUP(A2,TEXT(ROW(1:99999),"[DBNum2]"),ROW(1:99999))
TEXT(ROW(1:99999),"[DBNum2]")將1到99999之間的所有整數轉換為大寫,作為XLOOKUP的第二參數,在其中查找要轉換的值,找到后從第三參數ROW(1:99999)中返回對應的數字。
財務金額轉換
如果要轉換為金額,帶元,角,分的單位,又需要做一些變通:
=TEXT(INT(A2),"[DBnum2]")&TEXT(RIGHT(A2*100,2),"元[DBnum2]0角0分")
INT提取整數部分用一個TEXT轉換為元。
RIGHT提取小數部分用TEXT轉換為角和分。
屏蔽負數計算提成
銷售額超出500的部分乘以15%作為提成
=TEXT((B2-500),"0;!0")*15%
設置為"0;!0"時,負數將被轉換為0,正數則正常顯示。
這樣就避免了提成數據中出現負數。
四個特定區間
“;;;”三個分號產四個特定的區間,分別對應:正數;負數;零;文本:
=TEXT(A2,"1;-99;零;啥也不是")
如果是正數,則顯示“1”;
如果是負數,則顯示“-99”;
如果是0,則顯示“零”
如果是文本,則顯示“啥也不是”
TEXT可以說是最強大最復雜的函數,又很奇葩,看似有些規律,真正總結下來會發現毫無章法。
有沒有可能是微軟工程師臨時想到一些功能,特地新增一個函數又不夠,干脆統統加到TEXT上。