テキストとしてフォーマットされた日付をExcelで実際の日付に変換する方法はたくさんありますが、このチュートリアルはそれらすべてを調べることを目的としています。
データをExcelにインポートすると、Excelが認識しないさまざまな形式でデータが表示される場合があります。日付が外部ソースからインポートされる場合、テキストとしてフォーマットされて表示されることがあります。
Excelは、システムリージョンの設定に基づいて日付形式を適用することを知っておくことも重要です。そのため、別の国からのデータをExcelにインポートすると、Excelはそれらを認識せず、テキストエントリとして保存する場合があります。
この問題が発生した場合、Excelでテキストを日付に変換するために使用できる方法はたくさんあります。これらすべてをこのチュートリアルで説明します。
テキストを日付に変換する方法
ワークシートに実際の日付ではなくテキスト形式の日付が含まれている場合、それらを計算に使用することはできません。したがって、それらを実際の日付に戻す必要があります。
日付が左揃えになっている場合は、テキストがデフォルトで左揃えになっているため、テキストとしてフォーマットされていることを意味します。そして、数と日付は常に右に揃えられます。
Excelでテキストを日付に変換する方法はいくつかあります。それらは次のとおりです。
- エラーチェックオプション
- Excelのテキストから列への機能
- 検索して置換
- 特殊ツールの貼り付け
- Excelの数式と関数
エラーチェックオプションを使用してテキストを日付に変換する
Excelには、データ内の明らかなエラーを検出するエラーチェック機能が組み込まれています。エラーが見つかると、セルの左上隅にエラーのある小さな緑色の三角形(エラーインジケーター)が表示されます。そのセルを選択すると、黄色の感嘆符が付いた警告サインがポップアップ表示されます。その記号の上にカーソルを移動すると、Excelがそのセルで発生する可能性のある問題について通知します。
たとえば、日付に2桁の形式で年を入力すると、Excelはその日付をテキストと見なし、テキストとして保存します。また、そのセルを選択すると、感嘆符が表示され、「このセルには、年の2桁のみで表される日付文字列が含まれています」という警告が表示されます。
セルにエラーインジケーターが表示されている場合は、感嘆符をクリックすると、テキストとしてフォーマットされた日付を実際の日付に変換するためのいくつかのオプションが表示されます。 Excelには、19XXまたは20XX(1915の場合は19XX、2015の場合は20XX)に変換するオプションが表示されます。適切なオプションを選択します。
次に、テキストが適切な日付形式に変換されます。
Excelでエラーチェックオプションを有効にする方法
通常、Excelではエラーチェックオプションがデフォルトでオンになっています。エラーチェック機能が機能しない場合は、Excelでエラーチェックを有効にする必要があります。
これを行うには、[ファイル]タブをクリックし、左側のパネルで[オプション]を選択します。
[Excelのオプション]ウィンドウで、左側のパネルの[数式]をクリックし、右側のパネルで、[エラーチェック]セクションの[バックグラウンドエラーチェックを有効にする]を有効にします。そして、エラーチェックルールセクション内の「2桁で表される年を含むセル」にチェックマークを付けます。
Excelのテキストから列への機能を使用してテキストを日付に変換する
テキストから列への変換は、データを複数の列に分割できるExcelの優れた機能であり、テキスト値を日付値に変換するための強力なツールでもあります。このメソッドは、いくつかの異なるデータ形式を認識し、それらを適切な日付形式に変換します。
単純なテキスト文字列を日付に変換する
日付が次のようなテキスト文字列でフォーマットされているとします。
テキストから列へのウィザードを使用して、すべてを日付にすばやく再フォーマットできます。
まず、日付に変換するテキストエントリの範囲を選択します。次に、リボンの[データ]タブに移動し、[データツール]グループの[テキストから列へ]オプションをクリックします。
[列へのテキスト]ウィザードが表示されます。テキストから列へのウィザードのステップ1で、[元のデータ型]の下の[区切り]オプションを選択し、[次へ]をクリックします。
手順2で、すべての[区切り文字]ボックスのチェックを外し、[次へ]をクリックします。
ウィザードの最後のステップで、[列のデータ形式]で[日付]を選択し、[日付]の横にあるドロップダウンリストから日付形式を選択して、[完了]ボタンをクリックします。この例では、「01 02 1995」(日月年)として表されるテキストの日付を変換しているため、「日付:」ドロップダウンリストから「DMY」を選択します。
これで、Excelはテキストの日付を実際の日付に変換し、セルに右揃えで表示します。
ノート: テキストから列への機能の使用を開始する前に、すべてのテキスト文字列が同じ形式であることを確認してください。そうでない場合、テキストは変換されません。たとえば、テキストの日付の一部が月/日/年(MDY)形式であり、他の日付が日/月/年(DMY)である場合、手順3で[DMY]を選択すると、誤った結果が得られます。下の写真のように。
複雑なテキスト文字列を日付に変換する
テキストから列への機能は、複雑なテキスト文字列を日付に変換する場合に便利です。区切り文字を使用して、データを2つ以上の列に分割して表示する場所を特定できます。そして、DATE関数を使用して、日付の分割された部分を日付全体に結合します。
たとえば、日付が次のように複数の部分からなるテキスト文字列で表示される場合:
2020年2月1日水曜日
2020年2月1日、午後4時10分
テキストから列へのウィザードを使用して、コンマで区切られた曜日、日付、および時刻の情報を区切り、複数の列に表示することができます。
まず、日付に変換するすべてのテキスト文字列を選択します。 [データ]タブの[テキストから列へ]ボタンをクリックします。テキストから列へのウィザードのステップ1で、[元のデータ型]の下の[区切り]オプションを選択し、[次へ]をクリックします。
ウィザードのステップ2で、テキスト文字列に含まれる区切り文字を選択し、[次へ]をクリックします。カンマとスペースで区切られたテキスト文字列の例–「2015年2月1日月曜日午後1時」。テキスト文字列を複数の列に分割するための区切り文字として、「カンマ」と「スペース」を選択する必要があります。
最後のステップで、[データプレビュー]セクションのすべての列に対して[一般]形式を選択します。 [宛先]フィールドに列を挿入する場所を指定します。挿入しない場合、元のデータが上書きされます。元のデータの一部を無視する場合は、[データプレビュー]セクションでそのデータをクリックし、[列をインポートしない(スキップ)]オプションを選択します。次に、[完了]をクリックします。
これで、日付の部分(曜日、月、年、時刻)が列B、C、D、E、F、およびGに分割されます。
次に、日付の部分をDATE数式を使用して組み合わせて、日付全体を取得します。
Excel DATE関数の構文:
= DATE(年、月、日)
この例では、月、日、および年の部分は、それぞれ列C、D、およびEにあります。
DATE関数は、テキストではなく数値のみを認識します。列Cの月の値はすべてテキスト文字列であるため、数値に変換する必要があります。これを行うには、MONTH関数を使用して、月の名前を月の番号に変更する必要があります。
月の名前を月の番号に変換するには、DATE関数内で次のMONTH関数を使用します。
= MONTH(1&C1)
MONTH関数は、月の名前を含むセルC2に1を追加して、月の名前を対応する月の番号に変換します。
これは、異なる列の日付部分を組み合わせるために使用する必要があるDATE関数です。
= DATE(E1、MONTH(1&C1)、D1)
次に、数式セルの下隅にある塗りつぶしハンドルを使用して、数式を列に適用します。
検索と置換の方法を使用してテキストを日付に変換する
このメソッドは、区切り文字を使用して、テキストの形式を日付に変更します。日付の日、月、年がダッシュ(-)またはスラッシュ(/)以外の区切り文字で区切られている場合、Excelはそれらを日付として認識せず、先に進んでテキストとして保存します。
この問題を修正するには、検索と置換機能を使用します。非標準のピリオド区切り文字(。)をスラッシュ(/)またはダッシュ(-)で変更すると、Excelは値を日付に自動的に変更します。
まず、日付に変換するすべてのテキスト日付を選択します。 [ホーム]タブで、リボンの右端にある[検索と選択]ボタンをクリックし、[置換]を選択します。または、を押します Ctrl + H
[検索と置換]ダイアログボックスを開きます。
[検索と置換]ダイアログボックスで、テキストに含まれる区切り文字を入力します(この場合、[検索する文字列]フィールドにピリオド(。)を入力し、[置換]フィールドにスラッシュ(/)またはダッシュ(-)を入力します)。 。[すべて置換]ボタンをクリックして区切り文字を置き換え、[閉じる]をクリックしてウィンドウを閉じます。
これで、Excelはテキスト文字列が日付であることを認識し、自動的に日付としてフォーマットします。日付は以下のように正しく調整されます。
特殊な貼り付けツールを使用してテキストを日付に変換する
テキスト文字列を日付に変換するもう1つのすばやく簡単な方法は、貼り付け特殊オプションを使用してテキスト文字列に0を追加することです。値にゼロを追加すると、テキストが日付のシリアル番号に変換され、日付としてフォーマットできます。
まず、空のセルを選択してコピーします(選択してを押します) Ctrl + C
コピーする)。
次に、変換するテキストの日付を含むセルを選択し、右クリックして[形式を選択して貼り付け]オプションを選択します。
[形式を選択して貼り付け]ダイアログで、[貼り付け]セクションで[すべて]を選択し、[操作]セクションで[追加]を選択して、[OK]をクリックします。
コピー先のセルの値を貼り付けた値で減算/乗算/除算する他の算術演算を実行することもできます(セルに1を乗算する、1で除算する、ゼロを減算するなど)。
操作で[追加]を選択すると、選択したすべてのテキスト日付に「ゼロ」が追加されます。「0」を追加しても値は変更されないため、各日付のシリアル番号が取得されます。今、あなたがしなければならないのは、セルのフォーマットを変更することだけです。
シリアル番号を選択し、[ホーム]タブで、[番号]グループの[数値形式]ドロップダウンリストをクリックします。ドロップダウンから[短い日付]オプションを選択します。
ご覧のとおり、数値は日付としてフォーマットされ、右揃えになっています。
数式を使用してテキストを日付に変換する
テキストを日付に変換するために主に使用される2つの関数、DATEVALUEとVALUEがあります。
ExcelのDATEVALUE関数を使用する
ExcelのDATEVALUE関数は、テキストとして表された日付を日付のシリアル番号に変換する最も簡単な方法の1つです。
DATEVALUE関数の構文:
= DATEVALUE(date_text)
口論: date_text
隠蔽するテキスト文字列、またはテキスト日付を含むセルへの参照を指定します。
式:
= DATEVALUE(A1)
次の図は、DATEVALUE関数がテキストとして保存されるいくつかの異なる日付形式をどのように処理するかを示しています。
日付のシリアル番号を取得しました。次に、これらの番号に日付形式を適用する必要があります。これを行うには、シリアル番号のあるセルを選択し、[ホーム]タブに移動して、[数値形式]ドロップダウンリストから[短い日付]を選択します。
これで、フォーマットされた日付が列Cに表示されます。
テキストの日付(A8)に年の部分がない場合でも、DATEVALUEはコンピューターの時計から現在の年を使用します。
DATEVALUE関数は、日付のように見えるテキスト値のみを変換します。 ExcelのVALUE関数が必要になるため、数値に似たテキストを日付に変換したり、数値を日付に変更したりすることはできません。
ExcelのVALUE関数を使用する
Excel VALUE関数は、日付または数値に似た任意のテキスト文字列を数値に変換できるため、日付だけでなく任意の数値を変換する場合に非常に役立ちます。
VALUE関数:
= VALUE(テキスト)
文章
–変換する、またはテキスト文字列を含むセルを参照するテキスト文字列。
テキストの日付を変換する数式の例:
= VALUE(A1)
以下のVALUE数式は、日付のように見えるテキスト文字列を以下に示すように数値に変更できます。
ただし、VALUE関数はすべてのタイプの日付値をサポートしているわけではありません。たとえば、日付に小数点以下の桁数(A11)が使用されている場合、#VALUE!が返されます。エラー。
日付のシリアル番号を取得したら、DATEVALUE関数で行ったように、セルを日付のシリアル番号でフォーマットして、日付のように見せかける必要があります。これを行うには、シリアル番号を選択し、[ホーム]タブの[数値形式]ドロップダウンメニューから[日付]オプションを選択します。
以上が、テキストとしてフォーマットされた日付をExcelで日付に変換する5つの異なる方法です。