Excel 用函數(shù)在Excel中從文本字符串提取數(shù)字(轉(zhuǎn))在下文中,我將說明從以下各種情況中的字符串內(nèi)提取數(shù)字的公式:
問題如何提取字母數(shù)字字符串的數(shù)字部分。例如:如果單元格 A1 包含的是字符串“abc123”,則將值 123 返回單元格 B1 中。 解決方案此解決方案的基本原理是搜索并返回字母數(shù)字字符串中的第一個數(shù)字,然后只返回其后的數(shù)字。 算法;此解決方案包括創(chuàng)建公式以完成下列任務(wù):
我們將分別考慮這些任務(wù),然后將各公式整合在一起以得到最終結(jié)果。 將字母數(shù)字字符串分解為單獨的字符請在此使用 MID 函數(shù)。MID 可以根據(jù)所指定的字符的數(shù)量,從所指定的位置開始,從文本字符串中返回特定數(shù)量的字符。此函數(shù)的語法是:
對于我們的示例,公式為:
此公式可以分解字母數(shù)字字符串,并且實際上會將字符置于工作表的不同行內(nèi)。例如,對于字母數(shù)字字符串 注釋 可將數(shù)值 9 適當(dāng)增大為任何更大的數(shù)值,以適應(yīng)更長的字符串。在此示例中,最大字符串長度為 9。 值得一提的是,字符串分解之后,“1”、“2”和“3”將被看作文本而不是數(shù)字。要將存儲為文本的數(shù)字轉(zhuǎn)換成數(shù)字,請用 1 乘以此公式,例如:
確定分解后的字符串中是否有數(shù)字在此我們將使用 ISNUMBER 函數(shù),此函數(shù)可以確定字母數(shù)字字符串中是否有數(shù)字。公式現(xiàn)在變成了:
如果字符串中有數(shù)字,則結(jié)果將為 TRUE,否則結(jié)果將為 FALSE。 確定數(shù)字在字母數(shù)字字符串中的位置現(xiàn)在我們將通過在上一段中提到的分解后的字符串的結(jié)果中查找 TRUE 值來確定數(shù)字的位置。在此我們將使用 MATCH 函數(shù)。經(jīng)過修改的公式現(xiàn)在變?yōu)椋?/p>
要點 必須通過按 Ctrl+Shift+Enter 將此公式作為數(shù)組進行輸入。 如果字符串是 計算字母數(shù)字字符串中數(shù)字的數(shù)量現(xiàn)在的任務(wù)是計算字符串中數(shù)字的數(shù)量,以確定返回字母數(shù)字字符串中第一個數(shù)字之后要返回的字符。 如上所述,可通過用 1 與其相乘,將字母數(shù)字字符串中存儲為文本的數(shù)字轉(zhuǎn)換成數(shù)字。例如, 將存儲為文本的數(shù)字轉(zhuǎn)換成數(shù)字之后,可以通過使用 COUNT 函數(shù)對其進行計數(shù)。可通過輸入以下公式計算數(shù)字的數(shù)量:
整合各公式現(xiàn)在我們將使用 MID 函數(shù)把此公式的各部分整合在一起,如以下示例所示。
從本質(zhì)上說,此問題可陳述為:確定第一個數(shù)字在字母數(shù)字字符串(在單元格 A1 中)中的位置。返回此數(shù)字及其后的數(shù)字。 要將得到的字符轉(zhuǎn)換成數(shù)字,請用 1 乘此公式。雖然對此并不嚴(yán)格要求,但如果要對結(jié)果執(zhí)行數(shù)學(xué)運算,則應(yīng)該如此操作。下面是要輸入單元格 B1 中的最終公式:
要點 必須通過按 Ctrl+Shift+Enter 將這些公式作為數(shù)組進行輸入。 更多示例要進一步測試此公式,請將下圖中的數(shù)據(jù)輸入空工作表中的單元格 A1:A7 中。 將此公式輸入單元格 B1 中,然后使用自動填充將此公式復(fù)制到單元格 B2:B7 中。(不要忘記按 Ctrl+Shift+Enter。) 在此值得一提的是,如果字符串是
注意:此方法不適用于QTP的數(shù)據(jù)表,因為無法識別以上公式,即使是以導(dǎo)入已經(jīng)編輯好的Excel表的方式,公式仍舊無法識別. |
|
|