
我正在手動掃描一些包含不同數字的 PDF 報告,這些數字通常同時具有小數點和千位分隔符號。大多數情況下,逗號和千位分隔符號與我的本地設定相同(, = 小數,. = 千位,; = 參數分隔符號)。不幸的是,Excel 函數不喜歡輸入包含千位分隔符號的數字。
問題
我從 PDF 複製值,但不希望它們在單元格中顯示為複製的,而是首先對它們進行操作。我不希望原始號碼出現在任何單元格中。但是當我複製一些值並嘗試將它們提供給函數時,例如
=平均值(1.234.456.789;3.000.000.000)
我收到錯誤訊息
There is a problem with this formula.
Not trying to type a formula?
When the first character is an equal (=) or minus (-) sign, Excel thinks it's a formula
· you type: =1+1, cell shows: 2
To get around this type an apostrophe (') first:
· you type '=1+1, cell shows =1+1
目前我被迫手動刪除千位分隔符號以獲得
=AVERAGE(1234456789;3000000000) 以使公式發揮作用。
有沒有比較省力的方法呢?
解決方案要求
編輯:我不想要像這樣的解決方案
=平均(替換(“123.456.789”;“.”;“”);替換(“3.000.000.000”;“.”;“”))
因為需要輸入更多內容;我寧願有一個解決方案
- 包括更改 Excel 設定以阻止所有 Excel 函數抱怨千位分隔符, 或者
- 作為第二個最佳解決方案,一種編寫 VBA 函數的方法,使其分別適用於每個函數(在這種情況下,我只需要 AVERAGE 的工作範例就可以自己實作其餘部分),例如
=MyNiceAverage(1.234.456.789;3.000.000.000)
我無法做到這一點,因為即使是 VBA 函數也會抱怨上面格式的參數。我能夠實現一個解決方案,將參數作為字串傳遞,例如
=MyNotSoNiceAverage("1.234.456.789";"3.000.000.000")
這也是令人滿意的選擇,因為我貼了大量的數字,我不願意將每個數字放在自己的引號中。
感謝您的幫忙!
答案1
您可以使用SUBSTITUTE
刪除複製值中的句點。
像這樣:
=AVERAGE(SUBSTITUTE("123.456.789";".";"");SUBSTITUTE("3.000.000.000";".";""))
答案2
答案3
如果有 Office 365:
=AVERAGE(--SUBSTITUTE({"1.234.456.789","3.000.000.000"},".",""))
否則你可能想透過以下方式輸入數組CtrlShiftEnter
另一方面,我們也可以公正SUM
並劃分:
=SUM("1.234.456.789","3.000.000.000")/2