WEEKDAY()と[aaa]
Excel の曜日の表示で勘違いしていたことがありました。
セルA2に日付が(たとえば2008-4-4)があり、セルB2に [=WEEKDAY(A2)] として、これに表示形式 [aaa] を設定しても正しく曜日が表示されないのはなぜだろう? ということです。
答えは、表示形式 [aaa] (や [aaaa], [ddd], [dddd] )は、関数 WEEKDAY()の戻り値1〜7にたいして「日」〜「土」を表示するものではない、でした。
『あぁ〜[aaa]の勘違い』に詳しい解説があります。
上の表C列はB列と同じ式 [=WEEKDAY(A2)] で表現形式が標準です。WEEKDAY関数の結果は(当たり前ですが)正しい値を返しています。表示形式 [aaa] を設定するとB列になります。
表示形式 [aaa] は、WEEKDAY関数の戻り値1〜7を引数にとるのではなく、『シリアル値が1〜7』にあたる日付(1904-1-2 〜 1904-1-8)と解釈し「1904-1-2 〜 1904-1-8」の曜日を表示している、と理解すればよいのでしょう。(D列)
Excelで曜日を表示したいとき( A1 に日付、B1に曜日)は、B1に
- =A1 として表示形式を [aaa]
- =TEXT(A1,”aaa”) として表示形式を [標準]
これが正しく、そしてシンプルな方法でした。
【今日の教訓】
初心者はわざわざ難しいことをして間違いを冒す