• ベストアンサー

Excelで表1からある文字列を検索し、HITした同一行にある数値を計算し、表2に反映させたい

はじめまして。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 -------------------------

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

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

No.2です! たびたびごめんなさい。 前回画像をアップしたものは小さすぎて見づらいと思いますので、 もう一度画像をアップさせていただきます。 何度も失礼しました。m(__)m

goopon
質問者

お礼

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

その他の回答 (2)

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

こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 担当者は無視しても良い訳ですよね? ↓の画像で説明させていただきます。 今回は作業の数がいくらあっても良いように 作業も拾い出し、表示させるようにしてみました。 そのために、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

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

VLOOKUP関数を使う または ピボットテーブル(機能)を使う 関数の使い方は Excelのヘルプを参照してみてください 例題付きで詳しく説明されています ピボットテーブルの使い方は解説書や解説サイトを探した方が良いかもしれません

goopon
質問者

お礼

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

関連するQ&A

  • エクセルの計算式に一行おきに数値をいれる

    エクセルで、計算式がはいっている表に数値をいれていきたいのですが、 別に数値が打ち込まれている表があり、 それを一行、一行コピーしてうつしていますが、 膨大な量があるので、何かいい方法はありますか? A B C D E F G・・・ 1 ○計○計○計○計 2 ○算○算○算○算 3 ○式○式○式○式 ・ ・ ・ とういう形で一行おきに○の部分に数字を入れて、 さらに、その間の計算式を使用したいです。 既にある、数値も一行おきの表になっているので、 簡単に作業する方法がありましたら、是非教えて下さい。 お願いします。

  • EXCEL 表計算について

    EXCEL勤務表より月毎の男女の比率を求めたいのです。 *1日当たりの勤務時間が各自違います。 *1カ月当たりの休日が各自違います。 *入社退社の入れ替わりは月10人以上発生してます。 今、使っている勤務表(EXCELファイル)は縦軸(氏名)横軸(日付)で休日が各々’ヤ’と表示されている簡単なものです。 (例)          1 2 3 4 5 6 7・・・・・・・・31日 Aさん(9:00~14:00) ヤ Bさん(5:00~17:00)      ヤヤ Cさん(12:00~18:00)  ヤ      ヤヤ Aさんは勤務時間9:00~14:00で1回/週 休み、休憩0です。 Bさんは勤務時間5:00~17:00で2回/週 休み、休憩1時間です。 Cさんは勤務時間12:00~18:00で3回/週 休み、休憩1時間です。 様々な勤務体系の人達(200名)が居て労働時間から男女の比率を求める為にはどうしたら良いかご指導を宜しくお願い致します。

  • 複数一致からの検索

    シート1のような様な表があります。シート2に日付、部屋番を入力するとシート1の日付、部屋番の一致から※C1に名前が表示されるようにしたいです。 シート2のC1にどのような関数を入力したらよろしいでしょうか? よろしくお願い致します。 シート1   A   B   C   日付  部屋  名前 1  1/1  101  太郎 2  1/1  102  花子 3  1/1  201  次郎 4  1/2  101  花子 5  1/2  102  太郎 シート2    A B C   日付  部屋  名前 1  1/1  102  ※花子

  • エクセルでつくる集計表の計算式

    曜日単位の集計を行う式を教えていただけないでしょうか A欄  B欄 C欄 日付 曜日 人数 A欄は1~31日 B欄は月ごとに変わりますが、日~土 C欄は人数が入る表の下に 日~土の7セルを作り、そのセルの中に、上記表の曜日単位の人数を入れたいのですが、どんな条件式にすればよいのか教えていただけないでしょうか

  • ACCESS2003 数値や文字列のあいまい検索

    フィールド内に入力されている文字列から、「ひらがな」や「英語」が入力されているレコードの抽出について質問です。 ※[ニックネーム]のフィールドは、英数カナ文字が混在しています。 ======================== (テーブル) [ID]  [ランク]  [ニックネーム]  1     A     123456789 2     B     akb48   3     A     ああああ    4     B     987654321     5     C     かかか123   6     B     112233    7     C     445566      8     A     778899xyz    ======================== ☆上記のテーブルから、[ニックネーム]に「ひらがな」が 含まれるレコードの抽出をする。 ======================= [抽出結果] [ID]  [ランク]  [ニックネーム]  3     A     ああああ    5     C     かかか123    ======================== ☆上記のテーブルから、[ニックネーム]に「英語」が 含まれるレコードの抽出をする。 ======================= [抽出結果] [ID]  [ランク]  [ニックネーム]  2     B     akb48    8     A     778899xyz ======================== 上記のように、クエリでの条件を指定して抽出結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ 幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。

  • Excelでの文字列に関して

    現在画像にような表を作っています。上側の表は、下側の表から抽出された各人の使用金額と残額が表示されるようになっています。下表の対象者がその抽出される名前なのですが、ここでは名前の前に班名を入れています。 “執行金額”の部分について質問です。下表の対象者がその抽出される名前なのですが、ここではリスト形式となっており、また名前の前に班名を入れています(オートフィルタで班ごとに順番を変えやすいため)。例えば山田太郎に入力しています関数【=SUMIF($O$23:$O$50,"*山田太郎",$K$23:$K$50)】について、下表の書式を変えずに、"*山田太郎"をセル名(B4)で入れることはできないでしょうか? 名前が変わることもありまして・・・。お知恵を貸しください。よろしくお願いしますm(_ _)m

  • ややこしいエクセル表計算・・・

    ややこしいと思うのは出来ない私だけかも知れませんが、御指導ください。 労働時間の計算表を作りました。 横列が日付で縦列が上から出勤時刻、退勤時刻、休憩時間、労働時間、累計労働時間、残りの労働時間とし、任意のセルに目標労働時間を入力し退勤-出勤-休憩を一日の労働時間とし累計と目標時間-累計労働時間で残りの労働時間まで計算できる表を作りました。 お尋ねしたい点は、その下に残りの労働時間に対する一日当たりの労働時間を算出したいのです。 一番上の出勤時間のところに休み(予め一か月分は決まっています)の日は『00:00』を入力します。 残りの労働時間割ることの『00:00』が入力されていない空白のセルの数だけって数式作れますか? 仕事で使いたいもので、是非御指導ください。

  • エクセルで二つの表から数値をそれぞれもってきて自動計算する方法

    タイトルどおりなんですが、 Aさん、Bさんがそれぞれ毎日の自分の仕事の数値をエクセルに記録しています(下記参照、数字がずれてるのはご容赦ください) Aさん a  b  c  合計   Bさん a  b  c   合計 1日 8 10 3  21   1日 2  1  0    3 2日 5  0 4   9   2日 20 0 25   45 合計         30   合計           48 それを今度はa,b,cごとの表を普段は手書きで紙に合計してから、別の表に移しています。     a   b  c  合計 1日 10 11  3  24 2日 25  0  29 54 合計           78  という具合です。 今は画面に二つの表をだして、紙に合計(1日のAさんa+Bさんa)を印刷した白紙の表に書き出してから 別のエクセルの表に打ち込んでいました。合計は自動で計算するようになっています。 それを自動でできるようにできないでしょうか? ちなみにエクセルの表はすべてバラバラです(3つのファイルがあるという事です) ややこしい書き方でわかりにくいかと思いますが、ご教授ください。

  • エクセルでの列の文字列の一括置換え

    ご質問失礼いたします。 エクセルので以下のようなことを 行いたくご相談させて頂きます。 以下のようなExcel A | B   01 | 北海道 02 | 青森県 03 | 岩手県 04 | 宮城県 05 | 秋田県 06 | 山形県 07 | 福島県 08 | 茨城県 09 | 栃木県 10 | 群馬県 (47都道府県分あり) ~~~~~~ 別ワークシートに A      | B    | C    | D 山田太郎   群馬県  ○○市   ○○3丁目10-1 鈴木花子   秋田県  ○○市   ○○5丁目10-1 ~~~~~~ とあってB列の都道府県を前者のB列>A列の数字に変換し A      | B    | C    | D 山田太郎   10     ○○市   ○○3丁目10-1 鈴木花子   05     ○○市   ○○5丁目10-1 ~~~~~~ このようにしたいです。 後者の行が数千あるのと都道府県が多いので通常のExcelの一括置換えなどではなく、 効率の良い方法や関数などございましたら、是非ご教授いただければ幸いです。

  • エクセル、同じ行の別の列の文字列を抽出する関数

    エクセル2010です。 例えば、図の上の表のように、担当ごとにある仕事をした日付を記入していく表があるとします。 そこに記入していくと、同時に別のカレンダー(図の下の表)に、日毎に誰が仕事をしたかまとめて書き出すような書類を作ろうとしてします。 日付を検索条件にして、その日付が書かれている同じ行のA列にあるセルの文字列を、ヒットするものだけ抽出して書き出す、という仕組みです。 カレンダーの日付はあらかじめ記入しているものとします。 こういう場合、どんな関数を使えばよいのでしょうか? 「この関数を使えばいい」というヒントだけでも結構です。どうぞよろしくお願いします。

専門家に質問してみよう