|
今回は、第6回目です。
この回数は、メルマガ上での連載番号ですから、ページの「スケジュール表を作ろう」の番号とは異なります。なお、メルマガ上での誤字・脱字及び誤記は、転載時に修正するよう努めていますが、修正できていないところがあるかもしれません。お気付きの方は、遠慮なく掲示板等でお知らせください。
祝日表示の設定は、関数を使っています。慣れていない方にはちょっと面倒ですが、頑張ってください。
■3月シートの設定
メルマガに掲載したものの他に、名前の定義を使う方法を追加しました。
(24) 3月シートの設定
・春分の日
祝日の中で、春分の日と秋分の日は、日を特定できない特殊な祝日です。祝日法では、国立天文台の観測に基き、官報による告示で決定されることになっています。
しかし、将来の春分日・秋分日は求めることができないのかというと、そうでもありません。地球と太陽が今と同じ動きをすると仮定すれば、計算で予想することができます。実は、一定期間の春分日・秋分日を計算する簡易計算法というものがあるのです。下記はその計算法で春分の日をワークシート関数で表したものです。
1980〜2099年までの期間は、A1に西暦年が入力されているとして、
「=INT(20.8431+0.242194*(A1-1980)-INT((A1-1980)/4))」となります。
この式で、その年の春分の日を求めることができます。(3月X日のXを求めることができます。)
具体的には、春分の日は19日〜21日のうちの1日になります。
まず、下図のように3月のシート上で、19日に該当する摘要欄E22セルへ
「=IF(A22=INT(20.8431+0.242194*(A1-1980)-INT((A1-1980)/4)),"春分の日","")」と入力します。
この式は、求めた春分日がA22セル(19日)と同じであれば、春分の日と表示させ、そうでない場合は、空白を返すようにしたものです。
次にE23セル以降ですが、20日、21日、22日は、前日が春分の日でかつ日曜日であった場合、振替休日になります。そのため、E22セルの式とは異なります。春分の日と振替休日の両方を判定させる必要があります。それを組み入れると以下のようになります。
E23セルは
「=IF(A23=INT(20.8431+0.242194*($A$1-1980)-INT(($A$1-1980)/4)),"春分の日",IF(AND(E22="春分の日",B22="日"),"振替休日",""))」となります。(図の式は強制改行しています)
少し長い式ですが、はじめに春分の日かどうか判定をさせ、そうであった場合は、春分の日を返させ、前日が春分の日でかつ日曜日であった場合は、振替休日を返させています。両方に該当しない場合は、空白を返させるようにしています。
E24セルは
「=IF(A24=INT(20.8431+0.242194*($A$1-1980)-INT(($A$1-1980)/4)),"春分の日",IF(AND(E23="春分の日",B23="日"),"振替休日",""))」とします。式の構成はE23と同じなので、式内のA1を絶対参照にしておいて、E23をE24へオートフィルでコピーすればOKです。
次に、E25セルは替休日だけなので
「=IF(AND(E24="春分の日",B24="日"),"振替休日","")」となります。
■名前の定義の利用
ここで、メルマガでは紹介しなかった名前の定義を利用する方法を紹介しておきます。
上記方法はメルマガで紹介したそのままの式ですが、ちょと式が長く面倒です。それは、春分の日の判定式が長いためです。そこで春分の日の判定式を、名前の定義に置き換えてみましょう。
 |
挿入(I)⇒名前(N)⇒定義(D)から左図の名前の定義ダイアログボックスへ、上記で解説した春分日を求める式を入力します。名前を「春分日」とします。 |
これで、名前の定義を利用して数式を組むことができます。(入力する式の参照は、絶対参照「$A$1」とします。)
E22セルへ入力した
「=IF(A22=INT(20.8431+0.242194*(A1-1980)-INT((A1-1980)/4)),"春分の日","")」は、
「=IF(A22=春分日,"春分の日","")」と表すことができます。式内の「春分日」は、名前の定義名なので、文字列の引数に使う「""」で囲む必要がありません。実に簡単になります。
また、E23セルへ入力した
「=IF(A23=INT(20.8431+0.242194*($A$1-1980)-INT(($A$1-1980)/4)),"春分の日",IF(AND(E22="春分の日",B22="日"),"振替休日",""))」は、
「=IF(A23=春分日,"春分の日",IF(AND(E22="春分の日",B22="日"),"振替休日",""))」と表すことができます。
E24セルの式も上記の式と同じく、簡単に表すことができます。E23をE24へオートフィルでコピーしてください。
※年リストを切り替え、春分の日と振替休日が表示されるかどうか確認してください。2005年、2010年で確認できます。
※春分日、秋分日について
一般的には、昼と夜の長さがほぼ同じ日とされています。
『国立天文台の解説』
太陽は星々の間を移動していて、その通り道を「黄道」といいます。また、地球の赤道を天にまで延長したものを「天の赤道」といいます。黄道と天の赤道は、お互いが傾いているために2点で交わり、その交点のうちの一方を「春分点」、もう一方を「秋分点」と呼びます。そして、太陽が春分点・秋分点の上を通過する瞬間がそれぞれ「春分」「秋分」と定義され、「春分」「秋分」を含む日のことを、それぞれ「春分日」「秋分日」と呼ぶのです。
|