- 公開日:
エクセルで文章の途中にある日付を関数で変更する方法
Excelでは、日付だけのセルと日付を含む文章のセルがある場合、前者の日付を変更しても後者の日付は自動的に変わりません。
この記事では、文章に含まれる日付を関数を使って変更する方法についてご紹介します。
本日の日付を入力して自動で変更する方法、月末日を変更する方法、曜日を自動で変更する方法、「○年○月○日現在」の文章に変更する方法を解説します。
エクセルで文章の途中にある日付を関数で変更する方法

例えば、B2セルに「2023/11/1」、それを受けてC2セルに「今月は11月です。」が表示されています。
B2、C2セルには関数を何も入れず、文字としてそのまま入力している状況です。

B2セルの日付を「2023/10/19」に変更しても、当然C2セルの「11月」の部分は変わるわけではありません。

今回は、日付を変更した場合に文章の日付も自動で変更する関数をご紹介します。
この作業で主に利用するTEXT関数は、指定した数値を文字列として表示するための関数です。書式は「=TEXT(値, 表示形式)」です。
この関数の詳細については、以下の記事を参照してください。
ExcelのTEXT関数の使い方|数値を表示形式コードで文字列に変換
本日の日付を入力して自動で変更する
以下、TODAY関数を使って自動で文章内の日付を変更する方法を解説します。
TODAY関数の書式は「=TODAY()」です。詳しくは以下の記事を参照してください。

B2セルに「2023/11/1」の文字列が入力されている状態です。このセルにTODAY関数を入力します。
B2セルを選択します。

数式バーに「=TODAY()
」を入力し、Ctrl + Enterを押して確定します。

B2セルに本日の日付(2023/10/19)が表示されました。

C2セルに入力されている文章に関数を入力します。
C2セルを選択します。

数式バーに「="今月は"&TEXT(B2,"m")&"月です。"
」を入力し、Ctrl + Enterを押して確定します。

C2セルに「今月は10月です。」の文が表示されました。
日付が次の月になった場合、Excelを一度閉じて再起動すれば、C2セルに含まれる日付も次の月に自動で変わります。
日付ごとに月末日を変更する
Excelで日付ごとに月末日を変更する場合、EOMONTH関数を使うと便利です。
EOMONTH関数は、指定した開始日の○ヶ月後の月末日を返す関数です。書式は「=EOMONTH(開始日, 月)」です。この関数の詳細については、以下の記事を参照してください。

C2~C4セルに「締切は○月○日です。」が文字列で入力されています。
これらのセルの文章に関数を入れて、自動で日付と曜日が反映されるようにします。

C2~C4セルの文章を削除し、C2セルを選択します。

数式バーに「="締切は"&TEXT(EOMONTH(B2,0),"m月d日")&"です。"」
を入力し、Ctrl + Enterを押して確定します。

C2セルに「締切は10月31日です。」の文が表示されました。
この数式をC3~C4セルにも反映させるため、C2セルの右下の■をドラッグしてオートフィルします。

C3セルに「締切は11月30日です。」、C4セルに「締切は12月31日です。」の文章が表示されました。

試しにB2セルの日付を「2024/1/7」に変更してみましょう。
自動的にC2セルの日付が「締切は1月31日です。」に変更されました。
日付ごとに曜日を自動で変更する
日付ごとに文章に含まれる曜日も変更する関数を入力することもできます。
例えば、「○月○日は○曜日です。」という文章でも、曜日を変更することも可能です。

現在、C2~C4セルには「○月○日は○曜日です。」という文章が入力されている状態です。
これらのセルの文章に関数を入れて、自動で日付と曜日が反映されるようにします。

C2~C4セルの文章を削除し、C2セルを選択します。

数式バーに「=TEXT(B2,"m月d日")&"は"
」を入力します。
この数式は、TEXT関数でB2セルのデータから月と日の数値を取り出し、「&」で「は」の文字列につないでいます。

続けて「&TEXT(B2,"aaa")&"曜日です。"」
を入力し、Ctrl + Enterを押して確定します。
この数式は、TEXT関数でB2セルの値(2023/10/1)を曜日の表示形式(aaa)にし、「曜日です」の文字列につないでいます。

C2セルに「10月1日は日曜日です。」の文が表示されました。
この数式をC3~C4セルにも反映させるため、C2セルの右下の■をドラッグしてオートフィルします。

C3セルに「11月1日は水曜日です。」、C4セルに「12月1日は金曜日です。」の文章が表示されました。

試しにB2セルの日付を「2023/9/1」に変更してみましょう。
自動的にC2セルの日付が「9月1日は金曜日です。」に変更されました。
○年○月○日現在の文章に変更する
Excelのシート上に「2023年10月18日現在」など、本日の日付+「現在」の表示をさせたい場合でも関数を使って表示させることができます。

D2セルに「2023年10月18日現在」の文字列が入力されている状態です。
これを関数を使ってB2セルの日付を自動的にD2セルに「○年○月○日現在」の文章に変更する方法を解説します。

D2セルの「2023年10月18日現在」を削除します。
D2セルを選択します。

数式バーに「=TEXT(B2,"yyyy年m月d日")&"現在"」
を入力し、Ctrl + Enterを押して確定します。
ここでは、TEXT関数で「○年○月○日」の表示形式に変更し、「現在」の文字列でつないでいます。

D2セルに「2023年10月18日現在」が表示されました。

試しにB2セルの日付を「2023/11/1」に変更してみましょう。
自動的にD2セルの日付が「2023年11月1日現在」に変更されました。