簡體   English   中英

格式化Excel單元格-刪除除數字外的所有數字

[英]Formatting excel cells - remove all except digits

有什么方法可以寫一些公式來刪除單元格中的所有字符並僅過濾出數字/數字?

例如:

po63; 22kv為6322。

這是一個簡單的問題,在某些編程語言中,有一種解決方法,所以我懷疑excel中也存在這種情況,但到目前為止,我還沒有找到解決方案!

每個字符串最多限於15個數字, 數組公式**

=NPV(-0.9,IFERROR(MID(A1,1+LEN(A1)-ROW(INDEX(A:A,1):INDEX(A:A,LEN(A1))),1)/10,""))

將單元格格式設置為“ 常規” (Excel習慣於假設NPV的回報將是貨幣)。

問候

**數組公式的輸入方式與“標准”公式的輸入方式不同。 首先按住CTRL和SHIFT,然后再按Enter,而不是僅按ENTER。 如果操作正確,您會注意到Excel在公式周圍使用大括號{}(盡管不要嘗試自己手動插入大括號)。

經過進一步思考(請參閱XOR帖子下方的評論),我可以替代XOR的公式-過程非常相似,但使用不同的步驟才能達到目標:

=SUBSTITUTE(TEXT(SUM(IFERROR(LEFT(RIGHT(A1,ROW(A:A)))*10^(ROW(A:A)-1),"")),"#"),"0","")

由於這是一個數組公式,因此必須使用CTRL + SHIFT + ENTER(而不是ENTER或TAB)進行確認。

這樣做是從A1中字符串的各個字符開始,從最右邊的字符開始[它使用RIGHT公式從最右邊的字符開始,起始長度為1,然后為2,依此類推。到字符串的長度,然后使用LEFT字符來捕獲特定的迭代],然后嘗試將該字符乘以10 ^ [小數位]。 如果它產生#VALUE錯誤,則表明該字符是字符串,而不是數字。 否則,它將每個字符放在與其在原始字符串中的位置相關聯的小數位。

然后,它將整個內容轉換為字符串,並用“”替換“ 0”,以糾正小數位數尚不正確的事實。 與XOR公式一樣,如果最終數字> 10 ^ 15,則此操作將失敗,這是因為Excel的浮點計算問題。

我認為這不一定是一種更簡單的方法,而可以以不同的方式來幫助您了解其工作原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM