関数で作る祝日表 |
【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に「祝日名」を表示させます。 |
サンプルファイルのダウンロード 戻る 閉じる ホーム |