• ベストアンサー

エクセルを教えて下さい

初心者です、お力をお貸し下さい エクセルで勤務シフト表を作成中です 2005/12 21 22 23・・・ 月 火 水・・・ 20日締めです この様な表を作成しています、2005/12この12を変えたら翌月に更新させたいのですが手順がわかりません、教えて頂けませんか?

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A1=2005/12/01として(表示上は2005/12でも可) A2=21(日付)として =DATE(YEAR($A$1),MONTH($A$1),21) で表示形式をユーザー定義で d とする。 B2=22(日付)として =A2+1 でこれを横方向に必要分コピーする。 A3=月(曜日)として =TEXT(A2,"aaa") でこれを横方向に必要分コピーする。

sara1023
質問者

お礼

mshr1962さん、有難う御座います 出来ました 即、投稿に感謝します

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • zenjee
  • ベストアンサー率47% (50/106)
回答No.5

 こんにちは。  #3とほぼ同工異曲ですが、私が以前、同様の作業をやっていたときの例を掲げておきますので、よかったら参考にしてください。  シート2に次のような表を作り、挿入→名前→定義で、例えば「起算日」と名前をつけ、参照範囲は「=Sheet2!A:B」としておきます。  この表のA列は、「月」で、B2に「=EDATE(B1,1)」と入力し、下行にコピーします。  なお、表はほぼ1年ごとに参照済(処理済)の行を削除し、下行に順次「月」と式を加えていきます。 A   B 12 05/12/21 1 06/1/21 2 06/2/21 3 06/3/21 4 06/4/21 5 06/5/21 6 06/6/21 7 06/7/21 8 06/8/21 9 06/9/21 10 06/10/21 11 06/11/21 12 06/12/21 ↓   シート1のB1を「月」入力のセルとし、当月起算日の月の数値を、12、1、のように入力します。  A1に次の式を入力します。なお、A1の表示形式は「yyyy/」とし、A1とB1間の罫線は、線なしにします。 =VLOOKUP(B1,起算日,2,FALSE)  B1に入力した月数を検索値として、A1にその月の21日が入力されます。  C1の式は  =A1  とします。  D1に次の式を入力し、AD1までコピーします。 =IF(C1="","",IF(DAY(C1)=20,"",C1+1))  C2に次の式を入力し、AD2までコピーします。 =IF(C1="","",TEXT(C1,"aaa"))  なお、蛇足ですが、シート3に10年分ぐらいの休日一覧表を作っておき、シート1のC1:AD2に条件付き書式 =MATCH(C$1,Sheet3!A:A,0)  と定義し、休・祝日のセル色・文字色が変わるよう設定しておりましたので、参考までに付け加えておきます。

sara1023
質問者

お礼

zenjeeさん、有難う御座います 難しそうですが挑戦します 結果は後ほど・・・

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

土日祝などの日の列は表に現れても良いのですか。 横(行)方向に式を複写して、飛ばす(列の非表示とかではなく)のは関数では、相当難しそう。 「土日だけ除き」をやってみます。 B1に2005/11/21, A3に=B1 B3に=IF(TEXT(A$3+1,"aaa")="土",A3+3,A3+1)と入れて、横方向に2005/12/20まで式を複写。 A4に=TEXT(A3,"aaa")と入れて、2005/12/20まで式を複写。 一部は 2005/11/24 2005/11/25 2005/11/28 2005/11/29 木 金 月 火 祝日、会社休日を省くのは難しい。

すると、全ての回答が全文表示されます。
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.3

No.1のmshr1962さんとほぼ一緒ですが、 毎月だと言う事で28日~31日まであるので、 日付側のB2を =IF(ISERR(DAY(A2)),"",IF(DAY(A2)=20,"",A2+1)) で表示書式をdとし 曜日側のB3を =B2 で表示書式をaaaとされてみては?

すると、全ての回答が全文表示されます。
回答No.2

No.1の方とほぼ同じですが、参考までに。 2005/12のところに「2005/12/21」と入力し、 書式設定で2005/12だけ表示されるようにしておく。 2005/12のセルがA1だとすると 21と書きたいところには「=TEXT(A1,"d")」と入力しします。 21のセルをB1とすると、B2には「=B1+1」、これをB3以降に貼り付ければ日にちは出来上がり。 下の行C1に「=TEXT(B1,"aaa")」と打ち込めば曜日だけが表示される。 翌月には、セルA1を 2005/12/21から2006/1/21にすれば更新できると思います。

すると、全ての回答が全文表示されます。

関連するQ&A