Excelで時刻を「午前/午後」形式で別セルへ文字列として出力する計算式

Excelで時刻を「午前/午後」形式で別セルへ文字列形式で出力する計算式

この記事ではExcelで24時間制の時刻を12時間制の「午前/午後」形式で表示する方法を詳しく解説します。

実現する計算処理

この計算処理は、24時間制の時刻データを12時間制の「午前/午後」形式の文字列に変換します。この形式は日本語環境で特によく使用される形式ですね。

ここでは「14:15→午後02:15、午後2時15分」、「07:08→午前07:08、午前7時08分」のような文字列へ変換する計算式を紹介します。

なお、別セルに文字列として出力するのではなく、単に「午前/午後の」表示形式を設定する場合には別の記事を参照してください。

事前に準備するサンプル表

計算処理を行う前に、以下のようなサンプル表をExcelに作成します。

時刻
14:15
07:08

サンプル計算式

次に、以下の計算式をExcelの新しいセルに入力します。「A1」は時刻が入力されているセルです。あなたが処理したいセルに置き換えてください。秒(ss)まで表示させるならば「hh:mm」の部分を「hh:mm:ss」としてください。

=IF(HOUR(A1)>=12, "午後", "午前") & TEXT(A1-IF(HOUR(A1)>=12,0.5,0), "hh:mm")

最新のExcelならばLET関数を用いて時刻の指定を一度だけにすることができます(Excel2019以前のバージョンでは不可)。

=LET(time, A1, IF(HOUR(time)>=12, "午後", "午前") & TEXT(time-IF(HOUR(time)>=12,0.5,0), "hh:mm"))

「14:15」ではなく「14時15分」のように表記するならば以下のような式になります。「時,分」などの文字列をTEXT関数の第二引数で使用する場合は「””」で前後を囲む必要があるので注意してください。

=IF(HOUR(A1)>=12, "午後", "午前") & TEXT(A1-IF(HOUR(A1)>=12,0.5,0), "hh""時""mm""分""")

午前/午後のユーザー定義の表示形式がであることを利用して以下のような計算式も利用可能です。この表示形式についての詳しい説明は別の記事を参照してください。

=TEXT(A1,"[$-ja-JP]AM/PM h""時""mm""分""")

計算処理の論理解説

この計算式はいくつかのExcel関数を組み合わせて時刻を変換します。ここでは各部分の詳細を説明します:

  1. HOUR関数: この関数は、指定した時刻の「時」部分を抽出します。
  2. IF関数: 12時以上かどうかを判断し、それに基づいて「午後」または「午前」の文字列を返します。
  3. TEXT関数: 時刻を特定の形式のテキストに変換します。

そして、時刻が12時以上の場合に0.5を引くことで、24時間制の時刻を12時間制に変換します。最後に、これらの文字列を連結して目的の形式を得ます。

注意点

この計算式を使用する際には、以下の点に注意してください:

  • 時刻データが正しい形式で入力されていることを確認します。正しくない形式のデータはエラーを引き起こす可能性があります。
  • この方法は新しいセルに変換された時刻を表示するため、元の時刻データは変更されません。

この計算式を使えば、24時間制の時刻を効率的に12時間制の「午前/午後」形式に変換することができます。ぜひこの方法を活用して、日本語環境でのExcel作業をよりスムーズに行いましょう。

コメント