• ベストアンサー

エクセル 日付・曜日が自動入力

エクセルに関して質問です。 表に21日~20日を自動表示させたい。 A1に 2009年 A2に「~月」と月を入力すると A3に「21日」B3に曜日が自動的に表示できるようにしたい。 この時の開始日が21日スタートで、翌20日までかつ 隣の列に曜日を表示させたいのですが可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.10

こんばんは! No.6・7・8です。 >2月4月6月9月11月など、31日終わりでない月が うまく表示できません。何か方法ありますか? とありましたので・・・ もう一度数式を考えてみました。 前回のように難しく考える必要はないように思います。 ↓に画像をアップしてみます(今日は調子よくアップできることを期待しています) B1~B3セルに 年・月・日 を直接入力すると 1ヶ月分が表示できると思います。 C3セル =IF(B3="","",CHOOSE(WEEKDAY(DATE(B1,B2,B3)),"(日)","(月)","(火)","(水)","(木)","(金)","(土)")) B4セル =IF(DATE($B$1,$B$2,$B$3+ROW()-3)<EDATE(DATE($B$1,$B$2,$B$3),1),DATE($B$1,$B$2,$B$3+ROW()-3),"") C4セル =IF(B4="","",CHOOSE(WEEKDAY(B4),"(日)","(月)","(火)","(水)","(木)","(金)","(土)")) これでB4・C4セルを範囲指定してオートフィルで下へコピーします。 尚、前回も書きましたが、B4セルの書式設定は ユーザー定義から d としておいてください。 そして、曜日の(日)などは(日曜日)などとアレンジしてもらっても結構です。 以上、今度は希望に添える事を期待しています。 どうも何度も失礼しました。m(__)m

nekomusume22
質問者

お礼

素晴らしい!ご指示通り、したところ見事にできました。 やりたい事ができて作業効率アップアップ!本当にありがとうございました。コピペして、何個かつくったのですが、$関数の謎をといて なんとか自分なりに、他の場所でも作成に成功しました。 本当にありがとうございます。私ももう少し勉強しないとと 思いました。何度もご丁寧にありがとうございました。

その他の回答 (9)

  • maipe70
  • ベストアンサー率32% (155/471)
回答No.9

はじめまして http://allabout.co.jp/computer/msexcel/closeup/CU20080430A/ 参考になれば・・・

参考URL:
http://allabout.co.jp/computer/msexcel/closeup/CU20080430A/
nekomusume22
質問者

お礼

アドバイスありがとうございます。 HP見てみたのですが、21日スタートにする方法が わかりません・・・。どこを変化させたら よいのでしょうか???

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.8

No.6・7です! 何度もほんとぉ~にごめんなさい。 前回の回答で B4セルの書式設定はユーザー定義から d としておいてください。 (WEAKDAY関数を使用するに当たって、シリアル値が必要になりますのでB列はシリアル値にしています。) もう一点・・・  EDATE関数を使用していますので メニュー → ツール → アドイン → 「分析ツール」に チェックを入れてください。 以上、何度も顔を出した上に注文をつけてごめんなさいね。m(__)m

nekomusume22
質問者

お礼

何度もアドバイスありがとうございます ご指示通りに、やってみて、成功!と思ったのですが、 2月4月6月9月11月など、31日終わりでない月が うまく表示できません。何か方法ありますか?

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.7

No.6です! ごめんなさい。 画像をアップしようと頑張ってみたのですが、 今日は調子が悪いみたいです(私の方の問題かもしれませんが・・・) なので表の配置を書いておきます。   A  B    C 1 年 2009 2 月 6 3 日 21    C3 ← セル番地です 4   B4    C4 ← セル番地です 5 B1・B2・B3セルに年・月・日 を直接入力します。 こんな感じの画像をアップしようと思っていました。 どうもお役に立てなくてごめんなさい。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! すでに解決しているみたいですが・・・ 関数を使っての一例です。 ↓の画像の表で説明させていただくと 黄色のセルが手入力するセルです。 まず C3セル =IF(B3="","",CHOOSE(WEEKDAY(DATE(B1,B2,B3)),"(日)","(月)","(火)","(水)","(木)","(金)","(土)")) B4セル =IF($B$3="","",IF(MONTH(DATE($B$1,$B$2,$B$3+ROW()-3))=$B$2,DATE($B$1,$B$2,$B$3+ROW()-3),IF(DATE($B$1,$B$2,$B$3+ROW()-3)<=EDATE(DATE($B$1,$B$2,$B$3),1)-1,DATE($B$1,$B$2,$B$3+ROW()-3),""))) C4セル =IF(B4="","",CHOOSE(WEEKDAY(B4),"(日)","(月)","(火)","(水)","(木)","(金)","(土)")) として、B4・C4セルを範囲指定した後に、オートフィルで下へコピーしています。 (かなり下の方までコピーしても構いません) これで入力した日付より次の月の1日前までしか表示されないと思います。 余計なお世話かもしれませんが、 勝手に回答させていただきました。 以上、参考になれば幸いです。m(__)m

  • ogawa_sora
  • ベストアンサー率36% (468/1280)
回答No.5

NO4です。 間違えました。 「2月29日になる所」ではありませんでした。 一ヶ月の表があるとしたら、下から三行(3日分)です。 すいません。

  • ogawa_sora
  • ベストアンサー率36% (468/1280)
回答No.4

今日は。 日付は。 A3セルに =DATE(A1,A2,21) と入力 A4セルに =A3+1 と入力しA5セル以降一ヶ月範囲にコピー ただし、2009/○/21と表示されるので、日付だけ表示したい場合は、セ ルの書式設定のユーザー定義で、「d」と指定して下さい。 ○月○日と表示させたいのなら、セルの書式設定の日付の所で○月○日 と指定して下さい。 後、2月に29日から空白にする時、月が30日で31日を空白にしたい時は 2月29日になる所(この場合A31セル)に下記数式を入力 =IF(A30="","",IF(DAY(A30+1)>=21,"",A30+1)) 以下2日分コピーです これで、2月と30日までの月は20日以降は空白になります。(閏年も大丈夫です) 曜日は。 B3セルに =TEXT(A3,"aaa") と入力以下B4セル以降にコピー

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.3

例えば新規作成したブックで A2に 6/1 と入力すると 今なら 2009/6/1 の日付形式になります。 これを利用しましょう。 A1には =A2 と入力しておき 表示形式をユーザー定義で yyyy"年"とします A2は                表示形式をユーザー定義で m"月"とします A3は =A$2+ROW(A3)+17 と入力し、表示形式をユーザー定義で d"日"とします b3は =TEXT(A3,"aaa") と入力します。 A3 B3 を必要なだけ下にCopy&Paste で完成です。

nekomusume22
質問者

お礼

早速アドバイスありがとうございます。 天才ですね。解決しました。 これで作業効率あがりました。 お礼申し上げます

回答No.2

私の場合。 【A2】 6/20 と入力  【A2】セルの書式設定>表示形式>ユーザー定義     種類(T)の下のBOXに  m"月"  と入力 【A3】 =A2+1 と入力  【B3】 =A3 と入力  【B3】セルの書式設定>表示形式>ユーザー定義     種類(T)の下のBOXに  (aaa)  と入力 あとはA3,B3を選択した状態で下にコピーさせます。 これで変更するのは【A2】に6/20のように"月/20"といれればあとは自動で表示されます。

  • dondonji
  • ベストアンサー率45% (136/299)
回答No.1

オートフィル機能を利用したら如何でしょう。 http://allabout.co.jp/computer/msexcel/closeup/CU20080218A/ またはソフトでいいのがあれば起動させて、自分の好みにカスタマイズしたものを原本にしたらどうでしょうか。 http://download.goo.ne.jp/software/category/win/business/kaikei/