韓語口譯工作從英數字元字串中擷取數字
http://office.microsoft.com/zh-tw/excel/HA011549011028.aspx?pid=CL100570551028
套用至: Microsoft Office Excel 2003
本文作者是 Microsoft 最有價值 翻譯專業人員 (MVP,Most Valuable Professional)
Ashish Mathur 翻譯社如需具體資訊,請造訪 Microsoft MVP 網站 (英文) 翻譯社
我們將在本文中針對一道能將數字從字串中擷掏出來的公式進行說明。此公式適用於以下
字串:
* 字母字元和數字字元個體叢集的字串,例如 abc123 或 678sfr。
* 字母字元和數字字元並非個體猬集的字串,例如 abc15tni。
問題
若何將某個英數數元字串中的數字部分擷掏出來。例如:若是貯存格 A1 包含字串「
abc123」,則將值 123 傳回貯存格 B1 中 翻譯社
解決方案
此解決方案的潛伏邏輯是找出該英數字元字串中的第一個數字,並僅傳回該數字及其後的
所稀有字。
演算法
此解決方案觸及確立可以或許殺青以下使命 翻譯公式:
1. 將英數字元字串打散為個別的字元。
2. 辨別打散的字串中是不是稀有字 翻譯存在。
3. 判別數字在英數字元字串中的位置。
4. 較量爭論英數字元字串中 翻譯數字總數。
我們將會離別斟酌上述義務,再整合出可以或許產生終究成績的公式。
將英數字元字串打散為個別的字元
我們將在此利用 MID 函數 翻譯社MID 會自文字字串中您所指定 翻譯位置最先,傳回特定數目標
字元 (根據您指定的字元數量)。該函數的語法為:
MID(text 翻譯公司start_num,num_chars)
* text 包括您想要擷取之字元的文字字串。
* Start_num 您想要在 text 中擷取之第一個字元的位置。text 中第一個字元 翻譯
start_num 為 1,依此類推 翻譯社
* Num_chars 指定您想要讓 MID 從 text 中傳回幾何字元 翻譯社
本典範榜樣所利用 翻譯公式為:
=MID(A1 翻譯公司ROW($1:$9),1)
此公式會將英數字元字串打散,並將字元— 以虛擬方式— 置於工作表的分歧列中。以
abc123 這個英數字元字串為例,所有 6 個字元均會被打散 翻譯社
附註 您可以恰當地增添 9 這個數字,以契合較長 翻譯字串。在本典範榜樣中,最大的字串長
度為 9。
值得留意的是,將字串打散時,「1」、「2」和「3」將被視為文字— 而非數字。假如要
將貯存為文字的數字轉換為數字,只要將公式乘以 1 便可 翻譯社例如:
=1*MID(A1,ROW($1:$9),1)
辨別打散的字串中是否稀有字的存在
這裡我們將會利用 ISNUMBER 函數來辨別英數字元字串中是不是稀有字 翻譯存在 翻譯社此公式今朝
批改為:
=ISNUMBER(1*MID(A1,ROW($1:$9),1))
如果字串中有數字的存在,成效便會是 TRUE,否則結果即是 FALSE。
判別數字在英數字元字串中 翻譯位置
現在我們將在已打散的字串所傳回的成績中尋找 TRUE 值 (請見上一段的說明),以辨別
數字的位置。這裡我們將會利用 MATCH 函數。此公式今朝批改為:
=MATCH(TRUE 翻譯公司ISNUMBER(1*MID(A1,ROW($1:$9),1)) 翻譯公司0)
重要事項 您必須按 CTRL+SHIFT+ENTER 鍵,將此公式輸入為陣列。
以 abc123 這個字串為例,此公式將會產生 4— 也就是第一個數字字元在英數字元字串
中呈現的位置。
計算英數字元字串中 翻譯數字總數
現在 翻譯使命是要計算字串中的數字總數,以決定除英數字元字串中第一個數字以外,還
要傳回第一個數字之後的幾多個字元。
適才我們曾提過, 將英數字元字串中的數字貯存為文字之後,只要將它們乘以 1,就
可以將它們轉換為數字 翻譯社例如: =1*MID(A1,ROW($1:$9),1)
將儲存為文字 翻譯數字轉換為數字以後,就可以使用 COUNT 函數來進行計較 翻譯社只要輸入以
下公式,就可以計算這些數字:
=COUNT(1*MID(A1 翻譯公司ROW($1:$9),1))
整合上述公式
而今我們將會使用 MID 函數來整合此公式 翻譯各個部份,如以下典範所示。
=MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9) 翻譯公司1)),0),COUNT(1*MID(A1 翻譯公司ROW($1:$9),1)))
根基上,我們此刻可以如斯描述這個問題:辨別英數字元字串 (位於貯存格 A1 中) 第一
個數字呈現的位置。傳回第一個數字及厥後方的數字。
若是要將傳回的字元轉換為數字,請將公式乘以 1 (此步調或可省略;但如果您想要對結
果履行數學運算,則請務必執行此步驟)。以下就是要在貯存格 B1 中輸入的最終公式:
=1*MID(A1 翻譯公司MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0) 翻譯公司COUNT(1*MID(A1,ROW($1:$9) 翻譯公司1)))
重要事項 您必需按 CTRL+SHIFT+ENTER 鍵,將此公式輸入為陣列 翻譯社
其他範例
(圖)
http://office.microsoft.com/global/images/default.aspx?AssetID=ZA011549041028
如果要進一步測試此公式,請將下圖中的資料輸入空白工作表的貯存格 A1:A7 中 翻譯社
字串轉換規範
在貯存格 B1 中輸入此公式,再利用「自動填滿」將此公式複製到儲存格 B2:B7 中 (記
得要按 CTRL+SHIFT+ENTER 鍵)。
值得一提 翻譯是,若是字串是 yur09875reew ,而您使用了乘以 1 的公式,則欄 B 中 翻譯結
果將會是 9875 而非 09875。這是因為 0*1=0,因此 0 將會遭到疏忽,並傳回 9875 這
個結果。如果您但願傳回 翻譯結果是 09875,則請不要將最後的公式乘以 1。。-> 翻譯社|,-> 翻譯公司|的-> 翻譯
以下文章來自: https://www.ptt.cc/bbs/Office/M.1196503022.A.1C1.html有關翻譯的問題歡迎諮詢天成翻譯社
- Oct 19 Thu 2017 03:20
[算表] EXCEL:從英數字元字串中擷取數字
close
文章標籤
全站熱搜
留言列表