Excelは通常、データのインポートに関してはかなり賢いですが、使用する自動解析が非常に面倒な場合があります。たとえば、「1-4-9」(引用符なし)などのテキスト文字列を含む情報をインポートできます。これは問題ありませんが、置換を実行してスペースを削除すると、Excelは結果の文字列(1-4-9)を日付(1/4/2009)に自動的に変換します。

考えられる解決策の1つは、情報をWordにコピーし、そこで検索と置換を行うことです。このソリューションの問題は、情報をExcelに貼り付けると、日付情報として再度解析され、必要な日付のシリアル番号に自動的に変換されることです。

唯一の満足のいく解決策は、Excelが結果の文字列を日付ではなく、文字列として絶対に処理するようにすることです。これは、次の2つの方法のいずれかで実行できます。元のテキストがアポストロフィまたはスペースで始まっていることを確認してください。これは、Excelの置換機能(操作する必要のあるデータに応じて)を使用するか、Wordの置換機能(はるかに用途が広い)を使用することで確認できます。

セルエントリの先頭にアポストロフィまたはスペースを使用すると、セルの内容から追加のスペースまたは文字を削除できます。結果が日付のようなテキストである場合、先頭のアポストロフィまたはスペースがテキストとしての処理を強制するため、Excelはそれをそのように解析しません。

タスクを実行する別の方法は、次の手順に従うことです。 (元のデータがA2:A101の範囲にあると想定します)。

。元のデータの右側に列を挿入します。

。セルB2に、次の数式を入力します。

。 B2の内容をB3:B101の範囲にコピーします。

。 B2:B101の範囲のセルを選択します。

。 Ctrl + Cを押して、範囲をクリップボードにコピーします。

。セルA2を選択します。

。リボンの[ホーム]タブを表示します。

。貼り付けツールの下にある下矢印をクリックして、[形式を選択して貼り付け]を選択します。 Excelに[形式を選択して貼り付け]ダイアログボックスが表示されます。 (図1を参照)

。 [値]オプションが選択されていることを確認します。

。 [OK]をクリックします。

。列Bを削除します。

Excel 2010以降のバージョンを使用している場合は、手順8〜10のショートカットを使用できます。貼り付けツール(手順8)の下にある下向き矢印をクリックすると、オプションの小さなパレットが表示されます。ドロップダウンリストの[値の貼り付け]セクションで[値]オプションを選択します。 [値]オプションは、[値の貼り付け]セクションの左端のオプションです。番号123のクリップボードのように見えます。

SUBSTITUTE関数の出力は常にテキストとして扱われるため、これらの手順は機能します。テキスト値をコピーして貼り付けると、Excelによる追加の解析が行われずにテキストとして扱われます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9331)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Defeating_Automatic_Date_Parsing [Defeating Automatic DateParsing]