- ベストアンサー
エクセル関数で曜日を返す方法を教えてください。
2012 年 8 月度 1 2 3 4 5 6 A1・・・2012 B1・・・年 C1・・・8 D1・・・年度 と入力されてて、2行目に1~31日まで入力されてて 3行名に曜日を返したいのですが、 簡単な関数を教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
A4 =DATE($A$1,$C$1,A2) A3 =WEEKDAY(A4,1) この式をB列から右のコピーします。 これでA3に曜日に値する数字が出ます(日曜日は1,月曜日は 2...) 曜日の数字を日月火に変換する方法はVLOOKUPでも使えばよいでしょう。
その他の回答 (5)
- yosifuji20
- ベストアンサー率43% (2675/6115)
Ano.1です。 Ano.1を少し替えて見ます。 A3の式を下のように変更すれば、直接日月火と表示で行きます。 多分これは一番簡単かなと思いますが。 セルA3 =CHOOSE(WEEKDAY(A4,1),"日","月","火","水","木","金","土")
- KURUMITO
- ベストアンサー率42% (1835/4283)
月によっては31日までの表示を必要としませんので2行目の日にちは関数を使って表示させるのがよいでしょう。 例えばA2セルには次の式を入力して右横方向にドラッグコピーします。 =IF(MONTH(DATE($A$1,$C$1,COLUMN(A1))=$C$1,DATE($A$1,$C$1,COLUMN(A1)),"") その上でA3セルには次の式を入力して右横方向にドラッグコピーします。 =IF(A2="","",TEXT(A2,"aaa")) これでその月の長さに応じた日付と曜日が表示されます。
A3=TEXT(DATE($A$1,$C$1,A2),"aaa") 日付の数値が入っているかいないかで表示を変えるなら A3=IF(A2<>"",TEXT(DATE($A$1,$C$1,A2),"aaa"),"") のように。
- DJ-Potato
- ベストアンサー率36% (692/1917)
2行目を単なる数字1|2|3|・・・にせず、2012/8/1|2012/8/2|・・・と入力し、(※) A3 = TEXT(A2,"ddd") とすると、MonとかWedとか表示されます。 A3 = TEXT(A2,"dddd") とすると、MondayとかWednesdayとか表示されます。 A3 = TEXT(A2,"aaa") とすると、月とか水とか表示されます。 A3 = TEXT(A2,"aaaa") とすると、月曜日とか水曜日とか表示されます。 ※8月1日を入力したら、セルの右下を引っ張ってコピーすると楽です。 あと、書式設定で日付で日だけの表記にすることも忘れずに。
- co_maam
- ベストアンサー率65% (13/20)
少し大掛かりになりますが、参考にしてください。 (1)A1に該当の月の1日を入力します。(2012/8/1) (2)A1の表示形式をユーザ定義でyyyyとします。 (3)C1はA1を参照して、表示形式をユーザ定義でmとします。 (4)A2はA1を参照します。 (5)B2以降は左+1とします(結果2012/8/1…2012/8/31となる)。 (6)2行目の表示形式をユーザ定義でdとします。 (7)2行目を3行目にコピーします。 (8)3行目の表示形式をユーザ定義でaaaとします。 関数ではありませんが、これで実現できると思います。
お礼
さっそく、試してみました。 簡単に出来て助かりました。 ありがとうございました。