私は Excel のデータ接続を使用して、別のソフトウェア パッケージからエクスポートされたデータにリンクしています。私が行う分析はソフトウェアによって取得された日付に依存しており、日付でグループ化して他の操作を実行するのに非常に役立ちます。
先週作成したスプレッドシートは完璧に機能し、Excel は日付を正常に処理しました。今週接続を更新したところ、Excel が日付文字列をテキストとして処理するため、ピボット テーブルのすべてのグループが乱れてしまいました。接続を更新した以外は、スプレッドシートに何も変更を加えていません。
エクスポートされたスプレッドシートの日付列は、自動的に正しくフォーマットされます。過去 1 週間で、数行のデータが追加されたことを除いて、大きな変更はありません。キャプチャされたデータは常に同じフォーマットであり、日付列に誤ってテキストが書き込まれることはありません。
データの範囲は 3 年以上にわたり、日/月の曖昧さはこれまで問題なく、また私が注意を払う必要もなく正しく処理されてきたため、これが原因であるとは考えられません。
セルを選択して書式設定を指定しようとしましたが、効果がありません。テキストの書式設定も地域設定とまったく同じなので、エラーはそこにはありません。
数式でこれらの日付セルの 1 つを参照しても、テキストとして出力されます。セルの 1 つで編集モードを開始して終了すると、Excel は突然テキストの処理方法を認識し、正しく書式設定します。
私は Excel 2013 を使用していますが、2010 でも数値などの他の形式もテキストとして扱われるという同じ現象が何度も発生しました。
Excel がなぜこのような動作をするのか、またこれを修正するにはどうすればよいのかを説明していただけますか? 私の主な懸念は、データが明らかに一貫しているのに、Excel がデータの扱い方に一貫性がないのはなぜかということです。
列をコピーして何らかの変換で貼り付けるつもりはなく、20000 行以上を手動で編集する方法もありませんので、ご注意ください。スプレッドシートの目的は、他の人が使用し、できるだけ手間と説明を少なくして定期的に更新することです。
答え1
これを解決する最善の方法は、ファイルをテキスト形式で保存し、データ - 外部データの取得の「テキストから」インポートを使用して空のシートにファイルを「インポート」することです。テキストからインポートする場合は、日付を含む列または行に正しい日付形式 (D/M/Y または M/Y/D またはその他の組み合わせ) を指定してください。
答え2
私も Excel で同様の問題に遭遇したことがあります。私の場合は、日付の形式が原因でした。私はオランダ人ですが、Excel はオランダの表記法が最も重要であると判断して選択することもあれば、アメリカの表記法を選択することもありました。あなたがアメリカ人ではないためにこの問題が起きているのなら、私がどのように解決したか思い出すことができます。
答え3
新しいデータの日付フィールドに空白や特殊な非表示文字が含まれていないことを確認してください。たとえば、CR、LF、Cntrl (キャリッジ リターン、ライン フィード、コントロール) などです。幸運を祈ります...
答え4
自分で質問に答えるのはとても申し訳ない気持ちですが、スプレッドシートを持っていない人や、以前にまったく同じことを経験したことがある人にとっては難しかったであろう問題の原因を突き止めることができました。
ソフトウェア パッケージからデータをエクスポートすると、日付がテキストとして書き込まれるのではないかと思います。エクスポートしたシートを開くと、Excel は日付の処理を行い、正しい形式に変換します。保存すると、変更を加えなかったとしても、接続からデータが正しく送信されます。
これはかなり奇妙ですが、問題のようです。