• ベストアンサー

Excelで、出勤人数の集計方法は?

 現在、私の手元に工場の作業日報のデーターベースがあります。  いつ、誰が、どんな作業を、何時から、何時まで行っていたかというデーターが約半年分、行数にして1万5千行ほどあります。    このデーターベースから、日付毎の出勤人数を集計したいのですが、集計やピポットテーブルを使用しても上手く往きません。  A列に日付、B列に作業者名、C列以降に作業名や時間が入力されているのですが、一人が一日に複数の作業を行った場合、同じ日付に同じ作業者名が幾つもダブって入力されています。  集計やピポットテーブルを使用しても、例えば同じ日付に同じ作業者名が3回登場すると、1とカウントせず、3とカウントしてしまいます。  このように、データーの個数を集計するのではなく、データーが何種類有るかを集計する方法は無いのでしょうか。詳しい方、どうかご教授下さい。  では。

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

  • ベストアンサー
回答No.1

フィルターのオプションを使ってう重複するデータを無視してから、ピボットテーブルを使われてはいかがでしょうか。 データの入っている同じシートの右側に日付と作業者の項目を作っておき、データ/フィルタのオプションからリスト範囲、検索抽出条件、抽出範囲を指定し(詳しくはHELP参照してください)、重複するレコードは無視するにチェックを入れてokとすれば、同じデータはひとつとして抽出してくれます。 それから、ピボットテーブルを作ると所望のデータが得られると思います。 ただし、直接、データを加工するので実行前には万一の事故を防ぐため、バックアップは必ずとって置くことをお勧めします。 ただ、16千行あると、アクセスでやるかどうかの境目ですね。 データの定義と決まりごさえきちっとしておけば、リンクなどでエクセルのデータがそのまま使えますので、ご検討ください。

arau-otoko
質問者

お礼

 早速ご回答頂き、ありがとうございます。  ご教授頂いた方法で、どうにか解決する事が出来ました。  どうもお世話になりました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

何となく手探りで見つけたのですが、下記で良いと思います。十分テストしてみて下さい。 (例データ)A1:C12 D列は初め無いものとして見て(入力して)ください。 (A列) (B列) (C列) (D列) 日付 氏名 計数 2004/6/1 山田 12 0.5 2004/6/1 佐藤 9 0.5 2004/6/1 木下 8 1 2004/6/1 佐藤 3 0.5 2004/6/1 山田 2 0.5 2004/6/2 木下 3 1 2004/6/2 山田 5 0.5 2004/6/2 大島 6 0.5 2004/6/2 近藤 11 1 2004/6/2 大島 9 0.5 2004/6/2 山田 5 0.5 2004/6/3 今野 4 1 2004/6/4 今野 6 1 (関数式) D列D2セルに =1/SUMPRODUCT(($A$2:$A$14=A2)*($B$2:$B$14=B2)) と入れて、D14まで式を複写してください。 $14の部分は実際のケースでは最下行に置換えてください。 結果は上記のD列のようになります。 D列のD15(例えば)に=SUM(D2:D14)を出すと9になります。 これは 6/1山田 佐藤 木下 6/2木下 山田 大島 近藤 6/3今野 6/4今野 の数を数えたことになります。 1日に例えば3回出てくる人は、毎(それぞれの)行に(出現頻度の逆数)1/3をセットして、1人当たりで、1日の和が1になるようにしています。

arau-otoko
質問者

お礼

 早速のご回答、ありがとうございました。  ご教授頂いた方法を試してみたのですが、ダブった数によっては端数がでてしまうのと、演算時間がすごく掛かってしまう(pen4 2.2GHzで5分以上)ので、今回は#1さんの方法でやってみようと思います。  しかし、こんな考え方もあるのですね。大変参考になりました。

関連するQ&A

  • エクセルで集計

    エクセルで集計 シート1に1つの列に各支店名、2つ目の列に各商品名、3つ目の列に商品個数がランダム入力されているデータをシート2に自動で整理し集計したいのですが、2つの列の集計は関数SUMIFできるのですが、例えば、「各支店の商品個数の集計」など、「各支店の各商品の個数の集計」などの3つの列の集計方法を分かる方、いましたら教えてください。宜しくお願いします。

  • エクセルを使ってCSVデータを自動集計したい

    毎日吐き出されるcsvデータがあります。 行に日付、列に各ディレクトリへのアクセス回数です。 行は2009/01~集計当日まで90日分程度、 列は現時点で230くらいですが、 今後、週に2から3個くらい増えていきます。 このデータを、自動で集計することはエクセルで可能でしょうか。 月ごと、週ごとのカウントの上位ディレクトリがすぐに確認できると 嬉しいです。 固定の個数のデータを引用して集計まではなんとなくわかるのですが、 日々増えて行くので困っています。

  • SUMIF関数で解決出来ますか(集計方法)

    例えば A列    B列 会社名   金額 というような表があるとします。 会社名のデータが不特定多数で、重複する会社名 も存在するとします。 会社ごとに集計をするのに、SUMIF関数を使う方法 を考えましたが、会社名が少なければ、条件を 入力するのも苦になりませんが、会社名がたくさん ある場合、条件を入力するだけでも大変です。 (存在する会社、すべての集計をしたい場合) 何かいい集計方法はありますでしょうか? ピポットテーブル、オートフィルタの機能は 使用したくありません。備考程度に、データの 集計結果が得たいと考えています。

  • エクセルの集計で

    エクセルの集計で以下のようなことを早くする方法がないかお聞きします。 A列に仕入先B列に仕入金額が入ったデータがあり (A列は仕入先によって行数が異なります)、 C列で仕入先ごとの集計をしたい場合、 現在は〇〇商店の1ヶ月の合計を出すためにオートザムで B列の〇〇商店のみのデータを集計しています。 仕入先の行数が同じならばコピーしていけばいいのですが、 違うので何か簡単に集計する方法がないかお尋ねします。

  • エクセルの質問です。

    ピポットテーブルについての質問です。 現場作業員の日報をまとめようと思っています。 A列を現場、B列を時間として、ピポットテーブルを組み、行に現場、中に時間をスライドさせると、時間数の合計ではなく、その現場が何件あったか、を集計してしまいます。 どうすれば、現場ごとの時間数の集計が出来るのでしょうか。 お願いします。

  • エクセルの集計について教えてください

    エクセルの集計について教えてください 添付のように、A列からは入力用 A列 日付(複数月にまたがる) B列 金額 C列 項目 E列からは集計用として E列 項目 F列からは月ごとに集計できるような表を作りました 集計用は、また別途ほかのシートで参照して使用する予定です A列には、今後も次々データを足していく予定です 月単位でデータを抽出したのち、項目ごとに合計を算出したいのですが、どの関数を組み合わせればいいのかわかりません。 エクセルはほぼ初心者です ピボットテーブルを使用してもよいのですが、ほかのシートで参照できる方法を教えてください よろしくお願いします

  • エクセル 日報 月集計・年集計について

    エクセルで日報を作成しています。 今回、日報のデータを月ごと・年ごと、さらに人別・工事番号別に集計することになり、 どのように構成したらいいか考えており、アイデアをいただけないかと相談させていただきます。 日報の入力項目等は以下の通りです。 ・日付 ・社員No.(15名程) ・氏名 ・工事番号(現在は30件程ですが日々増えます) ・件名 ・作業No.(20項目:項目ごとに科目が振り分けられます→作業No.1~3と5は労務費といった具合です) ・作業内容 ・作業時間 ・科目 (今年度から単価が変わり、前年度の科目と今年度の科目(工事番号で区別しています)で単価が異なります) ・単価 現在は、これらの項目を入力し、人ごとに入力、工事番号と科目で合計時間を出しております。 このデータを月と年で集計をし、人ごと・工事番号ごとのデータとして見られるものにしたいのですが、 ブック内の構成を考えて行き詰っております。 一人ずつブックを作成したらいいのか、 一人1シートで作成し月と年のシートを作成したらいいのか・・・ 取っ掛かりから行き詰っていますのでこの先が不安ですが、 こうしたらいいのでは?といったアイデアをいただきたいと思います。 どうぞよろしくお願いいたします。

  • エクセルのピポットテーブルで月順に並びません

    エクセルのピポットテーブルで月集計をしています。 入力も古い日付で入力し、その後ピポットテーブルで集計していますが、新年度の集計が上段にきてしまいます。計算は合っているのですが、どうしても下段に順に新らしい月のデータの集計をしたいと思っています。とっても見にくいので何とかしたいのですが教えていただけませんか?

  • エクセル2007でピポットテーブルの集計方法について

    こんにちは。 複数店舗を扱っていて、それぞれの入金管理を1店舗に付き1つのシートで行っております。今回新規のシートにピポットテーブルで各店舗の集計データを出したいと思いやってみましたが、思うような結果が出せなくて困ってます。もともとピポットテーブルは使ってこなかったもので素人です。 元のエクセルのデータは、列に"入金日""担当者氏名""入金額"とあり、行方向に集計しています。 まず、データ範囲が複数のシートにあるので、ALT+D、ALT+Pと押し、ピポットテーブルウィザードを立ち上げ、分析するデータの範囲選択で、”複数のシート範囲”選択、ページフィールドの作成方法で”自動”を選択 "次"へ”範囲”欄に1シート選択するごとに追加で9つのシートを選択しました。それで表示された結果が、下の図です。 こちらで表示したい結果は、列のフィールドに担当者の名前を表示し、行のフィールドは日付、値のフィールドには、入金額を入れて担当者ごとの入金額を集計したいのですが。 どのように設定すればいいのでしょうか?

  • 複数条件での集計方法について(Excel2003)

    複数の条件で集計を行い、データの個数を表示させたいと考えてます。 対処方法をご教示下さい。 <例>     列A    列B   列C  列D 1 注文番号 メーカ名 タイプ  購入日 2  123     NEC   NOTE  2010/1 3  123     NEC   NOTE  2010/1 4  123     NEC   DESK  2010/1 5  456     HP    NOTE  2010/2 6  456     HP    NOTE  2010/2 上記の表を列A~列Dの集計により     列A    列B   列C  列D  列E 1 注文番号 メーカ名 タイプ  購入日 個数 2  123     NEC   NOTE  2010/1  2 3  123     NEC   DESK  2010/1  1 4  456     HP    NOTE  2010/2  2 列Eにデータの個数を表示 尚、集計の条件としては、列Aの注文番号が最優先の集計キー、次いで列B、列C、列Dとなります。 又、行数は約1500行前後です。 宜しくお願い致します。

専門家に質問してみよう