
.txt ファイルがあり、そこには次のような数字が書かれています。
99.69599
100.7113
101.7196
123.93
しかし、Excelにエクスポートすると、次のようになります。
9.969.599
1.007.113
1.017.196
123.93
.txt ファイル内の数字は米国英語形式ですが、Excel はドイツ語形式であることに注意してください。したがって、Excel (ドイツ語形式) では小数点とカンマが逆の意味になり、「.」は「、」を意味し、「,」は「.」を意味します。
- 米国/英語の千単位と小数点:
1,234.56
- ヨーロッパの千単位と小数点の区切り:
1.234,56
主な問題は、数値をエクスポートするときに、Excel が何らかの理由で小数点をシフトすることです。誰かこの問題を解決してくれませんか?
答え1
作業を実行するテクニックについては基本的にすでに答えが出ているので、次の 2 つについて考えます。
1) Excel がテキストをドイツ語の形式でフォーマットされているかのように解釈するため、英語で小数点として使用されるピリオドが、Excel では間違った位置にある整数のグループとして認識され、問題が生じます。たとえば、Excel では「99.34567」は英語を使用する Excel ユーザーが「99,34567」と認識するものと認識され、何らかのミスでカンマが配置されたとみなされます。その後、Excel はそれを修正し、「適切に」区切り文字を配置します。
インポートする前に修正することができます。これは、メモ帳やワードパッドなどの簡単なプログラムで簡単に実行できます。Excel でファイルを開いてインポートする場合は、この修正を行うことをお勧めします。
Excel がすでに開いていて、その Excel にインポートする場合は、データをダンプする前に、データをダンプする列をテキストとしてフォーマットし、Excel で説明されている操作を実行します。どちらでもかまいません。
2) 一重引用符 (') を挿入しないでください。多くの場合、Excel では一重引用符を削除できないため、きれいな数字を取得するためにいくつかの追加手順を実行する必要があります。すべてのケースではないかもしれませんが、非常に多くの場合...
答え2
コメントを読み返すと(執筆時点では)、これを達成するための「健全な」(地域にとらわれない!)方法は次のようです。
- 最初は(インポート後)数字がテキストとして表示されることを確認します。
- 次に、3桁ごとの区切り記号をヌル文字列("")に置き換えます。
- 続いて、小数点区切り記号を Excel が実際に使用するものに置き換えます。
- 次に、貼り付けの特殊機能を使用して「ゼロを追加」(または1を掛ける)し、Excelのテキストデータを作成します。書式設定すべてのデータを選択した後、「数値」に変更します。
sed
最初のステップでは、、 (お気に入りのスクリプト ガジェット名をここに挿入)、または「Python マジック」が必要になる場合があります。awk
たとえば、'
すべての数字の前に一重引用符を挿入すると、Excel はこれを文字通り「これはテキストです」マーカーとして解釈します。
最後の手順は次のとおりです。
ランダムなセルに 1 を入力し、セルを選択してコピーし、変換するデータを選択して「形式を選択して貼り付け」を実行し、ダイアログで乗算を選択して「OK」をクリックします。