関数で作る祝日表
【A列セルの数式】
=$A$1:=DATE(年,1,1)
=$A$2:=IF(WEEKDAY(A1+1)=2,A1+1,IF(OR(LEFT(用途,2)="行政",LEFT(用途,2)="銀行"),A1+1,0))
=$A$3:=IF(WEEKDAY(A2+1)=2,A2+1,IF(OR(LEFT(用途,2)="行政",LEFT(用途,2)="銀行"),A2+1,0))
=$A$4:=DATE(年,1,0+7*2)-(WEEKDAY(DATE(年,1,0)-0,3))
=$A$5:=DATE(年,2,11)
=$A$6:=IF(WEEKDAY(A5+1)=2,A5+1,0)
=$A$7:=DATE(年,3,INT(20.8431+0.242194*(年-1980)-INT((年-1980)/4)))
=$A$8:=IF(WEEKDAY(A7+1)=2,A7+1,0)
=$A$9:=DATE(年,4,29)
=$A$10:=IF(WEEKDAY(A9+1)=2,A9+1,0)
=$A$11:=DATE(年,5,3)
=$A$12:=A11+1
=$A$13:=A12+1
=$A$14:=IF(AND(WEEKDAY(A13+1)>1,WEEKDAY(A13+1)<=4),A13+1,0)
=$A$15:=DATE(年,7,0+7*3)-(WEEKDAY(DATE(年,7,0)-0,3))
=$A$16:=IF(年>=2016,DATE(年,8,11),0)
=$A$17:=IF(AND(年>=2016,WEEKDAY(A16+1)=2),A16+1,0)
=$A$18:=DATE(年,9,0+7*3)-(WEEKDAY(DATE(年,9,0)-0,3))
=$A$19:=IF(WEEKDAY(A20-1)=3,A20-1,0)
=$A$20:=DATE(年,9,INT(23.2488+0.242194*(年-1980)-INT((年-1980)/4)))
=$A$21:=IF(WEEKDAY(A20+1)=2,A20+1,0)
=$A$22:=DATE(年,10,0+7*2)-(WEEKDAY(DATE(年,10,0)-0,3))
=$A$23:=DATE(年,11,3)
=$A$24:=IF(WEEKDAY(A23+1)=2,A23+1,0)
=$A$25:=DATE(年,11,23)
=$A$26:=IF(WEEKDAY(A25+1)=2,A25+1,0)
=$A$27:=DATE(年,12,23)
=$A$28:=IF(WEEKDAY(A27+1)=2,A27+1,0)
=$A$29:=IF(LEFT(用途,2)="行政",DATE(年,12,29),0)
=$A$30:=IF(LEFT(用途,2)="行政",DATE(年,12,30),0)
=$A$31:=IF(OR(LEFT(用途,2)="行政",LEFT(用途,2)="銀行"),DATE(年,12,31),0)
【B列セルの数式】
※任意のセルに年4桁を入力し、「年」という名前を設定してください。
※振替休日、国民の休日に相当しない部分は、A列セルは「1900/01/00」(数値で0)になっています。
※春分の日、秋分の日の計算式は、西暦1980〜2099年までの対応です。
※祝日は2006年以降に対応しています。
※翌年度の祝日表を追加作成する場合は、数式を複写して「年」を「年+1」に変更します。
※なお、今後「祝日法」改正があった場合は、修正が必要です。

【祝日表の使い方】
(1)上の祝日表範囲に名前(例えば「祝日表」)を設定します。
(2)カレンダー表の方で次の計算式を入力します。
[数式]
=IF(A2="","",IF(ISNA(VLOOKUP(A2,祝日表,2,FALSE)),"",VLOOKUP(A2,祝日表,2,FALSE)))
※セルA2は日付が入力されているセルです。
※上の数式は、例示では、セルB2に入力します。セルB2に「祝日名」を表示させます。

サンプルファイルのダウンロード

戻る  閉じる  ホーム
inserted by FC2 system