問題

問題

我正在手動掃描一些包含不同數字的 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”;“.”;“”))

因為需要輸入更多內容;我寧願有一個解決方案

  1. 包括更改 Excel 設定以阻止所有 Excel 函數抱怨千位分隔符, 或者
  2. 作為第二個最佳解決方案,一種編寫 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

有了你之後Copy,你就可以了Paste using Text Import Wizard

這將顯示Text Import Wizardwhere, at,Step 3 --> Advanced您可以指定在複製的資料中使用Decimal和分隔符號。Thousands

這將適當地將值轉換為帶有您自己的分隔符號的數字。

Paste如果您在按一下標籤上按鈕的下 1/2 部分時沒有看到該項目可用Home,請自訂Quick Access Toolbar將其新增至此處。如果您選擇,您應該會發現列出了該命令Choose Commands All Commands

在此輸入影像描述

答案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

相關內容