プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。Excelの関数を利用して、
以下のような仕組みを作りたいと思います。

毎日の作業を表にまとめた(表1)から、
作業を抜き出して、作業毎の時間と件数の累計をまとめた(表2)
を作成したいと思います。

表1から作業と作業毎の時間と件数を抽出し、
計算して出力するような式を書きたいのですが、
うまい方法が思いつく方がいらっしゃいましたら、
ご教授いただければと思います。

※表1と表2はシートを分けたいです。

何卒よろしくお願いします。

(表1)
 日付  作業  担当者 作業時間 作業件数
---------------------------------------------
1月10日  A   太郎    7    500
1月10日  B   花子    8    300
1月11日  A   太郎    7    500
1月11日  C   花子    8    400
1月12日  B   太郎    4    600
1月12日  C   太郎    4    300
1月12日  C   花子    8    500
---------------------------------------------

(表2)
作業 作業時間 作業件数
-------------------------
 A    14    1000
 B    12     900
 C    20    1200
-------------------------

A 回答 (3件)

No.2です!


たびたびごめんなさい。
前回画像をアップしたものは小さすぎて見づらいと思いますので、
もう一度画像をアップさせていただきます。

何度も失礼しました。m(__)m
「Excelで表1からある文字列を検索し、」の回答画像3
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
すばらしいですね。
まだ意味を追いきれてないですが、
拡張もできそうなので、ありがたいです。

お礼日時:2010/01/13 22:09

こんばんは!


色々方法はあるかと思いますが・・・
一例です。
担当者は無視しても良い訳ですよね?

↓の画像で説明させていただきます。

今回は作業の数がいくらあっても良いように
作業も拾い出し、表示させるようにしてみました。
そのために、Sheet1の方で作業用の列を使わせてもらっています。

Sheet1の作業列F2セルに
=IF(COUNTIF($B$2:B2,B2)=1,ROW(A1),"")
という数式を入れ、オートフィルでずぃ~~~!っと下へコピーします。
(Sheet2の数式が1000行まで対応できるようにしていますので、そのくらいまでコピーしても構いません)

そして、Sheet2のA2セルに
=IF(COUNT(Sheet1!$F$2:$F$1000)<ROW(A1),"",INDEX(Sheet1!$B$2:$B$1000,SMALL(Sheet1!$F$2:$F$1000,ROW(A1))))

B2セルに
=IF($A2="","",SUMIF(Sheet1!$B$2:$B$1000,$A2,Sheet1!D$2:D$1000))
として、C2セルまでオートフィルでコピーします。

最後にA2~C2セルを範囲指定し、C2セルのフィルハンドルで下へコピーすると
画像のような感じになります。

尚、A列の作業のデータはあらかじめ入力してあれば、
Sheet1の作業用の列は必要ありません。

以上、長々と書きましたが、
参考になれば幸いです。m(__)m
「Excelで表1からある文字列を検索し、」の回答画像2
    • good
    • 0

VLOOKUP関数を使う


または
ピボットテーブル(機能)を使う

関数の使い方は Excelのヘルプを参照してみてください
例題付きで詳しく説明されています

ピボットテーブルの使い方は解説書や解説サイトを探した方が良いかもしれません
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
ピボットテーブル。
これ、十分かもしれません。
ありがとうございます。

お礼日時:2010/01/13 22:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!