Excelでシート名に月を含む場合、オートフィルでコピーした際にシート名の月だけを自動で増加させたいことがあります。例えば、『2026年02月分』のシートを参照する数式をコピーして、『2026年03月分』『2026年04月分』…のようにしたい場合です。本記事では、数式を工夫して月部分だけ自動更新する方法を解説します。
INDIRECT関数を使ったシート名の動的参照
Excelでは、シート名を文字列として扱い、INDIRECT関数でセル参照に変換することで、オートフィル時にシート名を動的に変更できます。基本の構文は以下の通りです。
=IF(INDIRECT(“‘2026年” & TEXT(ROW(A1)+1,”00″) & “月分’!C14″)=””,””,INDIRECT(“‘2026年” & TEXT(ROW(A1)+1,”00″) & “月分’!C14”))
この例ではROW関数を使い、コピー先の行番号に応じて月部分を増加させています。
TEXT関数で月を2桁に固定
TEXT関数を使うことで、1月から12月までを「01」「02」…「12」と2桁で表示できます。これにより、シート名の書式と一致させることが可能です。
例えば、ROW(A1)の値が1なら02月、ROW(A2)の値が2なら03月と自動的に変化するように設定できます。
オートフィルでコピーする方法
上記の数式を入力したセルを選択し、右下のフィルハンドルを下にドラッグします。これにより、ROW関数の値が変化し、月部分が順番に増えるようになります。
結果として、『2026年02月分』『2026年03月分』『2026年04月分』…と自動で参照できるようになります。
注意点と補足
シート名と数式の書式が完全に一致している必要があります。また、シートが存在しない月を参照すると#REF!エラーになるため、必要に応じてIFERROR関数でエラー処理を追加するのがおすすめです。
また、月を増加させる方法はROW関数以外にCOLUMN関数を使った水平コピーも可能です。
まとめ
Excelでオートフィルを使い、シート名の月部分だけを自動更新して参照するには、INDIRECT関数とTEXT関数を組み合わせる方法が有効です。ROWやCOLUMN関数でコピー先に応じた数値を生成することで、数式を簡単に月単位で連続コピーできます。


コメント