[[20090925132854]] 『欠勤リストを作成中なのですが…U』(オレンジ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『欠勤リストを作成中なのですが…U』(オレンジ)
 WindowsXP
 Excel2003

 sheet1に欠勤者リストを作成します。sheet2に月ごとに欠勤者の名前と回数を自動で表示します。
 さらに半年分の欠勤リストを自動で表示したいのですが…。
 同姓同名の場合は回数が増えるようにしたいのです。

 エクセル初心者なので、詳しくご説明頂くととてもありがたく存じます。おわかりの方どうかお教え下さいませ。

 sheet1                                                       
    A      B       C       D 

 1 9/1  契約  派遣          

 2      鈴木  田中            

 3     佐藤  木下 
          
 4 9/2   山田  田中                  

 5     佐藤    大野

 sheet2(9月度合計)
     A      B       C       D  
 1 契約  回数   派遣    回数

 2 鈴木   1    田中   2 

 3 佐藤   2    木下   1

 4  山田  1        大野   1

 sheet3(6月〜12月度合計)
     A      B       C       D  
 1 契約  回数   派遣    回数

 2 鈴木   8    田中   22 

 3 佐藤   12    木下   13

 4  山田  6        大野    4


 お伺いしてみますが。。。

 sheet1には9月分のデータしか無い様です。
 sheet3に成るようなデータは何処に有るのでしょう?

 また、sheet3にはSheet2で出現した人だけが
 表示されれば良いのでしょうか?

 (HANA)

 WindowsXP
 Excel2003

 sheet1に欠勤者リストを作成します。sheet2に月ごとに欠勤者の名前と回数を自動で表示します。
 さらに半年分の欠勤リストを自動で表示したいのですが…。
 同姓同名の場合は回数が増えるようにしたいのです。

 sheet1                                                       
    A      B       C       D 

 1 6/1  契約  派遣          

 2      鈴木  田中            

 3     佐藤  木下 
          
 4 6/2   山田  田中                  

 5     佐藤    大野

 sheet2(6月度合計)
     A      B       C       D  
 1 契約  回数   派遣    回数

 2 鈴木   1    田中   2 

 3 佐藤   2    木下   1

 4  山田  1        大野   1

 sheet3                                                       
    A      B       C       D 

 1 7/1  契約  派遣          

 2      鈴木  平井            

 3     内田  木下 
          
 4 7/2   山田  田中                  

 5     佐藤    大野

 sheet4(7月度合計)
     A      B       C       D  
 1 契約  回数   派遣    回数

 2 鈴木   1    平井   2 

 3 佐藤   2    木下   1

 4  内田  1        田中   1
  ・
 ・
  ・
 sheet15(6月〜12月度合計)
     A      B       C       D  
 1 契約  回数   派遣    回数

 2 鈴木   8    田中   22 

 3 佐藤   12    木下   13

 4  山田  6        大野    4

 というように、1日ごとの欠勤者のシートを作成し、1ヶ月分をトータルしたもの、半年分をトータルしたものを作成したいのですが、如何でしょうか。


 前スレにも少し書きましたが
 私なら、
 月ごとでシートを分けず一つのシートにまとめて
 ピボットテーブルが使えるようなデータにして
 ピボットテーブルで集計すると思います。

 表がいくつかに分かれていると言う事は
 エクセルでデータとして扱う場合に困難です。

 また、現在の様なデータ
  (例えば
    sheet1の2,3,5行目のデータが何日のデータなのか
    その行からだけでは分からない 等)
 も、エクセルでデータとして扱う場合に困難に成ります。

 ↓前スレ
[[20090918104841]]『欠勤リストを作成中なのですが…』(オレンジ)

 (HANA)


 HANA様

 御返事ありがとうございました。

 前回、コメントを下さった際もピボットテーブルを二つ並べても良いカモですね。
 という御説明だった為、エクセル初心者の私はどのようなもので、どのように活用
 すれば良いのか分かりませんでした。

 ピボットテーブルがどのようなものかは簡単にしか把握しておりませんが、
 1ヶ月の欠勤者は1000名程になり毎月プリントアウトをする為、シートごとに
 分けておきたいと考えております。

 現在は[[20090918104841]]『欠勤リストを作成中なのですが…』(オレンジ)に質問を 
 した際に最初にご回答を下さった方の方法で作成しております。

 今回は半年分をトータルしたデータの作成方法を教えて頂きたいと思い質問を追加致しました。

 (オレンジ)


 レイアウトこだわらない場合は一つの案ですが、(HANAさんとおなじです。。。)

 私も同じもの使用しています。
 一ヶ月のシートを作り
 一日欠勤 → 1を入力
 半に欠勤 → 0.5を入力
 計    → SUM関数で簡単に計算できます。
 ↓こんな感じ。。。でいかがでしょか??

 	[A]	[B]	[C]	[D]	[E]	[F]			
 [1]	氏名	契約種類	1日	2日	3日	4日	・・・・	31日	計
 [2]	山田花子	契約	1						1
 [3]	山田太郎	派遣		1		0.5			1.5
 [4]	AA	委託			0.5			1	1.5
 [5]	オレンジ	契約		1	1			0.5	2.5

 人数が多い場合でもわかりやすいと思います。
 毎日プリント出なければなおさら↑お勧めします。

 半期ごとはピポットテーブルで「40-1 ピボットテーブル(複数のワークシート範囲から)」
 がおすすめです。
http://www11.plala.or.jp/koma_Excel/pivot_menu.html

 (AA)


 HANAさんの仰っている事が理解できないと回答が付くことは難しいと思いますが

 現状を見て問題だと思うのは
 1.入力シートの作り方がデータ管理上好ましくない
 2.6月〜12月しか考えられていない
   (たぶん来年の1月に同じ質問をする事になるのでしょう)
 3.入力シートと集計シートが混在しているにも関わらずシート名が不明

 などがあります。
 今の状況では、数式でもVBAですらも困難です。(ロジックが浮かびません)

 入力を単純に羅列する方法でやられていれば簡単なのですけどね
 (ピボットでも数式でもVBAでも)

 (momo)

 momo様

 御返事ありがとうございます。

 現在はこの方法で作成しております。さらに半年分のトータル計算ができればと思い、
 質問させて頂きました。御回答が難しいようでしたら、御返事は結構ですよ。

 sheet1                                                       
    A      B       C       D 

 1 9/1  契約  派遣          

 2      鈴木  田中            

 3     佐藤  木下 
          
 4 9/2   山田  田中                  

 5     佐藤    大野

 sheet2
     A      B       C       D  
 1 契約  回数   派遣    回数

 2 鈴木   1    田中   2 

 3 佐藤   2    木下   1

 4  山田  1        大野   1

 sheet1
 E2 =IF(B2="","",IF(MATCH(B2,B:B,0)=ROW(),ROW()))
 F2 =IF(C2="","",IF(MATCH(C2,C:C,0)=ROW(),ROW()))
 必要分下へフィルコピー。

 sheet2
 A2 =IF(COUNT(Sheet1!E:E)<ROW()-1,"",INDEX(Sheet1!B:B,SMALL(Sheet1!E:E,ROW()-1)))
 B2 =IF(A2="","",COUNTIF(Sheet1!B2:B43,A2))
 C2 =IF(COUNT(Sheet1!F:F)<ROW()-1,"",INDEX(Sheet1!C:C,SMALL(Sheet1!F:F,ROW()-1)))
 D2 =IF(C2="","",COUNTIF(Sheet1!C2:C43,C2))
 必要分下へフィルコピー。

 >御回答が難しいようでしたら、御返事は結構ですよ。

 回答は難しいですが、同じ事をやるのはかなり簡単な事なんです。
 ここは学校ですので、今後のオレンジさんの為になるように
 データの扱い方を私も含めて回答者の皆様が御指摘してくださっています。

 という意味でしたが、ご気分悪くされたようですので私は失礼します。
 (momo)

 momo様

 >HANAさんの仰っている事が理解できないと回答が付くことは難しいと思いますが

 ☆この時点ですでにご回答を下さる気はなかったのでは? 

 >現状を見て問題だと思うのは
 1.入力シートの作り方がデータ管理上好ましくない
 2.6月〜12月しか考えられていない
   (たぶん来年の1月に同じ質問をする事になるのでしょう)
 3.入力シートと集計シートが混在しているにも関わらずシート名が不明

 などがあります。
 今の状況では、数式でもVBAですらも困難です。(ロジックが浮かびません)

 入力を単純に羅列する方法でやられていれば簡単なのですけどね
 (ピボットでも数式でもVBAでも)

 ☆問題点のみの指摘

 ここは学校ですので、問題点の指摘だけではなく具体的なアドバイスや解決方法が頂きたかったのですが…残念でした。


 具体的には、すでにHANAさんが示されていますが
 下のように連続、かつ空白のないデータフォーマットで入力されたほうが
 後々の管理やEXCELでの集計処理の考え方の上で役に立ちます。
 という事です。

	[A]	[B]	[C]
 1	日付	種別	氏名
 2	2009/6/1	契約	名前A
 3	2009/6/1	派遣	名前B
 4	2009/6/1	派遣	名前C
 5	2009/6/2	契約	名前A
 6	2009/6/2	契約	名前D
 7	2009/6/2	派遣	名前B
 8	2009/7/1	契約	名前C
 9	2009/7/1	派遣	名前D
 10	2009/7/1	契約	名前E
 11	2009/9/1	派遣	名前A
 12	2009/9/1	派遣	名前B
 13	2009/9/2	契約	名前C
 14	2009/9/2	契約	名前A

 では・・・(momo)

 おっと衝突しちゃいました。
 なんか掲示板の使い方が違っている気がしますが。。。。
 取り敢えず、作っていた文章を載せておきます。

 この様なお話をする際に 重要な点が有ります。

 現在使っているレイアウトの変更を提案した場合
 >1ヶ月の欠勤者は1000名程になり毎月プリントアウトをする為、
 >シートごとに分けておきたいと考えております。
 等、色々な理由を書き 断る方が多いです。

 現在使用しているレイアウトが使い勝手が良いと思って居られるのは
 分かりますが、新たなご希望を叶えるためには 勝手が悪いため
 レイアウトの変更を提案しています。

 重要な点と言うのは、今回の場合
 「毎月プリントアウトが出来れば良いのか?」
 と言う事です。

 大切にしたい事が
 書いて居られるように「月ごとにプリントアウトしたい」
 と言う事であれば、レイアウトを変更しても
 月毎にプリントアウトさえ出来れば
 レイアウト変更の障害は取り除かれる事に成ると思います。

 例えば、現在の表を単純に一つのシートのA:C列にまとめて
				↓D2に=IF(COUNTA(B2:C2),IF(A2="",#REF!,MONTH(A2)),"")		
	[A]	[B]	[C]	[D]	[E]	
[1]	日付	契約	派遣	月	半期	
[2]	6月1日	鈴木	田中	6	6月〜12月	←=IF(D2="","",IF(D2<6,"1〜5月","6月〜12月"))
[3]		佐藤	木下	6	6月〜12月	
[4]	6月2日	山田	田中	6	6月〜12月	
[5]		佐藤	大野	6	6月〜12月	
[6]	7月1日	契約	派遣	7	6月〜12月	
[7]		鈴木	平井	7	6月〜12月	
[8]		内田	木下	7	6月〜12月	
[9]	7月2日	山田	田中	7	6月〜12月	
[10]		佐藤	大野	7	6月〜12月	
 D,E列にはそれぞれ数式を入れておきます。

 オートフィルタを設定し、D列で希望する月を選ぶと
 その月のデータのみが表示され
「月毎に印刷したい」
 と言う希望は叶えられると思います。
  (A1セルは見出しに成りますが。)

 また、一つのシートにデータが集まっている事で
 月毎や、半期毎の集計も簡単に出来るように成ると思います。

 この様に、レイアウトの変更には問題があるが
 それを取り除く事が出来ればレイアウトの変更は可能なのか
 それとも、現在のレイアウトはどうあっても変更出来ないのか
 あるいは、少しくらいなら変更しても大丈夫なのか
 等によって付くコメントも変わってくると思います。

 >現在はこの方法で作成しております。
 それは、データが一箇所にしかないので
 割と簡単に作成出来ているだけです。

 ちなみに、エクセルで扱うことを考えると
 momoさんが書いて居られる様なデータを用意するのが
 扱いやすいと思います。

 (HANA)

 >現在はこの方法で作成しております。さらに半年分のトータル計算ができればと思い、
 >質問させて頂きました。御回答が難しいようでしたら

 別々に 月ごとの集計ができているようなので 「統合」 を使用してはいかが

 >現在はこの方法で作成しております。さらに半年分のトータル計算ができればと思い、
 >質問させて頂きました。御回答が難しいようでしたら

 別々に 月ごとの集計ができているようなので 「統合」 を使用してはいかが

 ご回答を下さり、ありがとうございました。

 「統合」の作成方法をお教えいただけないでしょうか。
 よろしくお願い申し上げます。

 (オレンジ)

 統合
http://kokoro.kir.jp/excel/tougou.html

 Web検索すると他にも理解しやすい例が見つかるでしょう。。。(gon-2)

 gon-2様

 ありがとうございました。
 参考サイトを見ながら活用させて頂きます。

(オレンジ)


 HANA様

 とても分かり易いご回答を下さりありがとうございました。

 今後、HANA様の作成方法にかえさせて頂きたいと思います。

 ありがとうございました。

 (オレンジ)


 でしたらピボットテーブルの設定方法も少し書いておきます。

 最初に再度書いておきますが、今回の集計を考えた時
 エクセルがデータとして扱いやすいのは
 (momo)さんが書いて居られるような表です。
 今回は、B列に「契約」C列に「派遣」の名前が入っているので
 月毎の集計で、契約のピボットテーブル 派遣のピボットテーブル
 半年の集計で、契約のピボットテーブル 派遣のピボットテーブル
 と、ピボットテーブルが四つ必要になってきます。

 まず、データが「データシート」に入っているとします。
 集計表を「集計結果シート」に作成するとします。

 ピボットテーブルの基本的な操作は↓を参考にして下さい。
  ライブラリより「ピボットテーブル入門」
http://www.excel.studio-kazu.jp/lib/e2d/e2d.html

 【1】ピボットテーブルの作成
 メニュー・データ(D)→ピボットテーブルとピボットグラフレポート(P)
  ピボットテーブル/ピボットグラフウィザード − 1/3
    ●Excelのリスト/データベース(M)・・・(デフォルト)
    ●ピボットテーブル(T)・・・・・・・・(デフォルト)
      [ 次へ(N)> ]
  ピボットテーブル/ピボットグラフウィザード − 2/3
    範囲(R): [ データシート!$A:$E   ] ←列で選択しておく
      [ 次へ(N)> ]
  ピボットテーブル/ピボットグラフウィザード − 3/3         
      [ レイアウト(L) ]
     ピボットテーブル/ピボットグラフウィザード − レイアウト
      ページ(P) に 月
      行(R)     に  契約
      データ(D) に 契約
      [ OK ]
    ●既存のワークシート(E) ←選択を付け替えて
        [ 集計結果シート!$A$1   ] ←作成先のシートを指定  
      [ 完了(F) ]

 【2】月別集計の作成
  上記操作で、集計結果シートにピボットテーブルが作成されています。
	 集計結果シート		
		[A]	[B]
	[1]	月	(すべて) ▼
	[2]		
	[3]	データの個数 / 契約	
	[4]	契約 ▼	合計
	[5]	佐藤	3
	[6]	山田	2
	[7]	内田	1
	[8]	鈴木	2
	[9]	(空白)	
	[10]	総計	8

  A10セルを選択して右クリック→表示しない
  A9セルを選択して右クリック →表示しない

  A1:B8をコピーして、C1セルから貼り付け
  C3セル(データの個数 / 契約 と成っているセル)を
   ピボットテーブルのフィールドリストの上に ドラッグ&ドロップ
  C4セル(契約 と成っているセル)を
   ピボットテーブルのフィールドリストの上に ドラッグ&ドロップ

   C列に「ここに行のフィールドをドラッグします」が現れるので
   フィールドリストから「派遣」をドラッグ&ドロップ
  D:I列の「ここにデータアイテムをドラッグします」の部分にも
   フィールドリストから「派遣」をドラッグ&ドロップ

  A列でやったように、
  (空白)と成っているセルを選択して右クリック →表示しない

  これで月毎の集計表は出来ました。
  B1,D1セルの ▼ から、表示したい月を選ぶと
  選んだ月の集計結果が表示されます。

 【3】半年毎集計の作成
  A1:D8セルをコピーして、F1セルから貼り付け。
  F1,H1セル(月 と成っているセル)を
   ピボットテーブルのフィールドリストの上に ドラッグ&ドロップ
  F1,H1セルに「ここにページのフィールドをドラッグします」が現れるので
   フィールドリストから「半期」をドラッグ&ドロップ

  こちらも、G1,I1セルの ▼ から
  表示したい区分を選ぶと、集計結果が表示されます。

 ドラッグ&ドロップ は、それをやりたい選択肢上でマウスの左側を押し
 押したまま移動させたい場所へ動かし、指を離す と言う操作の事です。

 また、「ここに○○のフィールドをドラッグします」が現れない場合は
 そのピボットテーブル内のどこかのセルを選択して下さい。
 テーブル外のセルがアクティブに成っている時は、表示されません。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.