連続した「月」を表示するカレンダーで、「月の最初の日(1日)」だけ「月」を表示するようにする
月初(1日)だけ、「月」が表示されるようにする
「複数月にまたがる予定表」を作成する際に、月初(1日)にだけ「月」を表示することで、「月の変わり目」が分かりやすくなり、見た目もすっきりします。
「IF関数」と「MONTH関数」と「DAY関数」を組み合わせる、入れ子(ネスト)構造の数式は入力が大変
月初だけ「月」を表示するためには、"IF関数" で「真」の条件を「月初(1日)」にし、「真」の時に "MONTH関数" を使って「月」を表示します。
さらに、MONTH関数以外にもDAY関数を使います。
このように、複数の関数を組み合わせた「入れ子(ネスト)構造」の数式は複雑になり入力が大変です。
「IF関数」と「DAY関数」と「MONTH関数」の3つの関数を使った入れ子(ネスト)構造
「基準となる日付を入力」するだけで、「その日以降の日付が表示」され、さらに「月の最初の日(1日)だけ月が表示される」ようにするための数式は、複数の関数を組み合わせる「入れ子(ネスト)構造」の数式になります。
- A "IF関数" の条件(論理式)に "DAY関数" を使って「基準日に1(日)を加えたものを表示し、さらにそれが「1」の場合を真とする」にします
- B "真" の場合(月初)は、基準日から "MONTH関数" で「月」を抜き出したものと、"DAY関数" で「日」を抜き出したものを「/」を挟んで表示
- C "偽" の場合は、基準日に1(日)をくわえたものを表示
「関数の挿入」ボタンで、「入れ子(ネスト)構造」の数式を作成
「関数の挿入」ボタンは、ダイアログで用意された窓(BOX)に入力するだけで、「()」や「 , 」は自動で入力されるので、「 )」の数が不足してエラーになることが無いのでとても便利です。
「関数の挿入」ボタンは複数の関数を組み合わせる「入れ子(ネスト)構造」の場合には使えないと思われがちですが、「名前ボックス」を使えば簡単に入れ子構造の数式を作成することができます。
関数が1つだけの数式より、より多くの「()」や「 , 」を使い、数式が複雑になる「入れ子(ネスト)構造」の時こそ、関数の挿入ボタンを使うメリットが大きくなります。
※ こちらの記事も参考にしてください
「ネスト(入れ子)構造」の数式を簡単に作成する - 事務作業の省力化や経営分析に役立つ、Excelの使い方を紹介
予定表を作成し「最初(基準)の日付」を入力
予定表の左上のセルに「基準になる日付」を入力。
入力する際には「日付形式」で入力し、シリアル値として入力する。
※ 「月日」や「 /(スラッシュ)」で区切って入力することで「日付形式」になる
"関数の挿入"ボタンで「IF関数」を選択
関数の挿入ダイアログの欠点は「関数の分類が分かりにくい」ことですが、関数の分類を「すべて表示」にして、探したい関数の「頭文字」を「英文字」で入力すると、入力した文字から始まる関数の一覧が表示されるので探しやすくなります。
- 「基準となる日付」の1つ下のセルを選択
- 「関数の挿入」ボタンをクリック
- 関数の挿入ダイアログの "関数の分類" で「すべて表示」を選択
- 英字入力にして、「 i (アイ)」を入力
- 「i (アイ)」から始まる関数の一覧が表示されるので「IF関数」を選択
- 「OK」ボタンをクリック
※ 英文字を入力しても、一覧が表示されない場合は「関数のどれか1つをクリック」する
「名前ボックス」を使って、入れ子(ネスト)構造にする
関数の挿入ボタンから、入れ子(ネスト)構造の数式を入力するためには「名前ボックス」を使います。
"名前ボックス" は、通常「セル番地」や「セル(範囲)に付けた名前」を表示していますが、これを使って「セルに数式を適用させる」ことができます。
セルに「名前」を付けると何が便利になるのか(その1) - 事務作業の省力化や経営分析に役立つ、Excelの使い方を紹介
名前ボックスから「DAY関数」を選択
作成中のファイルで1度でも使ったことのある関数は、名前ボックスのプルダウンリストに表示されます、リストに表示されない場合は「その他の関数」を選択すると、「関数の挿入」ダイアログが表示されるのでそこから "MONTH関数" を選択します。
表示された「IF関数」の論理式の入力欄にカーソルを置いて、「名前ボックス」のラジオボタン「▼」をクリック。
- IF関数の「条件(論理式)」の入力欄(ボックス)にカーソルを置く
- 名前ボックスから "DAY関数" をクリック
※ 「名前ボックス」を使わずに、直接「論理式のボックス」にDAY関数を使った数式「DAY(B3+1)=1 」を入力することも可能です
IF関数の「論理式」のボックスに、"DAY関数" を入力
名前ボックスから "DAY関数" を選択することで、関数の挿入ダイアログが "DAY関数" に切り替わります。
そのボックスに、引数(※ 今回はシリアル値)を入力することで「ネスト(入れ子)構造」の数式になります。
- 数式「 (B3+1)=1 」を入力
関数の挿入ダイアログを「IF関数」に切り替える
IF関数の「論理式」を入力するために「名前ボックス」を使って「DAY関数」のダイアログに切り替えましたが、続いて「IF関数の真・偽の場合の引数」を入力する必要があります。
関数の挿入ボタンで「ネスト(入れ子)構造」の数式を作成する際に分かりにくいのが「関数を切り替える方法」です。
やり方は "数式バー" で、「表示したい関数の部分」をクリックするだけです。
IF関数とDAY関数を使った、ネスト(入れ子)構造の数式ができました
名前ボックスから "DAY関数" を選択せずに、IF関数の「論理式のボックス」に直接DAY関数を打ち込むこともできますが、「()」等の使い方を気にする必要が無いので多少面倒でも「名前ボックス」を使うことをお勧めします。
「値が真の場合」と「値が偽の場合」の引数を直接入力
"MONTH関数" と "DAY関数" は、引数が1つしかないので直接入力します。
引数が1つしかない簡単な関数の場合は「名前ボックス」を使わずに直接入力する方が簡単です。
- 真の場合はMONTH関数を使って「基準日」から「月」を抽出し、「1を加えて翌月」にし、"&"を使って「/」を付して「基準日に1を加えた日付」表示
- 偽の場合は「基準日に1を加えた日付」を表示
予定表に「曜日」を加える
"TEXT関数" を使えば、「日付」から「曜日」を抽出して表示させることができます。
このように、日付を使う「予定表」や「カレンダー」を作成する時に、「日付」を「シリアル値」で入力すれば、"日付に関する関数" を使うことができます。
関数を使って "日付" や "曜日" を表示することで、見易く、便利なものを作成することができます。
※ シリアル値
シリアル値はWindowsの場合は、1900年1月1日の午前0時を起点として、1から始まります。
Macintoshの場合は、1904年1月1日の午前0時を起点として、0から始まります。
関数を使って「万年カレンダーを作る」その2 - 事務作業の省力化や経営分析に役立つ、Excelの使い方を紹介