カソ研は、過疎地の暮らしと学びを応援します。


EXCELで毎月同じ日を表示したいときに使う時に読む話

, ,

EXCEL

Twitterでお題が出てた

WEEKDAY関数やWORKDAY関数でもいけるけど、他列に曜日を表示してあげると実用上便利かも、と思ってtext()関数使ってRTしました。

こういうお題大好きで職場でちょくちょく「はい喜んで~」ムーブしてます。

わかりやすい手順

1行目にヘッダを入れる。

  • A1 日付
  • B1 曜日
  • C1 もし日曜なら次の日を表示

A2に以下の関数を入れて下にコピーしていく。

=EDATE(TODAY(),ROW()-2)

すると、今日の日付から始まり、翌月の同じ日を連続で表示してくれます。

EDATE関数の中に入っているROW()関数は、入力した行の位置(2行目なら2)を返すので、
下方向にコピーして引数を動的に設定したいときに便利です。

曜日をわかりやすくするように、B2セルに以下の関数を入れて曜日を表示させます。

=TEXT(A2,"aaa")

これを下にコピーしていくと、A列の日付の曜日が漢字1文字(日、月、火、水、木、金、土)で表示されます。

最後、C2セルに、以下の式を入力して、下にコピーして行ってください。

=IF(B2="日",EDATE(A2,0)+1,EDATE(A2,0))

分かりやすくるため、条件付き書式でB列の曜日が[日]になっている行を赤白抜きにしましょう。

🚩数式を使用して、書式設定するセルを決定

以下図のように、数式を入力してください。

=$B1="日"

するとこうなります。

B列が日の行だけ、赤塗り白抜き文字に変わりました。

C,D列は翌日の日付と月を表示していますね。


段階を踏んで説明するために4列使用しましたが、各列に入れた式をネストしていくと

1列だけで完結させることもできます。

以下の数式をA2セルに入れて、下にコピーして行ってみてください。

=IF(TEXT(EDATE(TODAY(),ROW()-2),"aaa")="日",EDATE(TODAY(),ROW()-2)+1,EDATE(TODAY(),ROW()-2))

毎月24日を表示して、8行目の12月24日は日曜日なのでが2023年12月25日になってますね!

開始の日を固定したいときはtoday()の箇所をDATE(year,month,day)関数で日付にしてあげると良いです。

※数値の表示設定を日付にしておかないと5桁の数字が出てくるので注意!

Follow me!


PAGE TOP