
私は、通常は小数点と千単位の区切りの両方を持つさまざまな数値を含む 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) とする必要があります。
もっと手間のかからない方法はないでしょうか?
ソリューション要件
編集:私は次のような解決策を望んでいません
=AVERAGE(SUBSTITUTE("123.456.789";".";"");SUBSTITUTE("3.000.000.000";".";""))
入力する量が増えるので、私はどちらかの解決策を選びます
- 含まれるものすべての Excel 関数が 3 桁区切り記号についてエラーを報告しないように 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