エクセルの関数についてご教示下さい

このQ&Aのポイント
  • エクセルの関数について質問します。各個人の件数と回数を週ごとに集計し、週ごとにまとめていますが、範囲の設定が毎回変更しなければならず苦慮しています。
  • 最良の方法があればご教示下さいますようお願い致します。
  • 罫線が入らず、わかりにくい資料ですが、よろしくお願い申しあげます。
回答を見る
  • ベストアンサー

エクセルの関数についてご教示下さい

エクセルの関数について質問します。 各個人の件数と回数を週ごとに集計し、週ごとにまとめていますが、この関数では期間が累積していくため、集計するたびに、セルの範囲の設定を毎回変更せねばならず苦慮しております。 最良の方法があればご教示下さいますようお願い致します。 罫線が入らないので、下記資料がわかりにくいとは思いますが、よろしくお願い申しあげます。 基礎データ 日付 会社名 担当 回数 10月2日 A商店 イ 1 10月3日 B商店 ロ 2 10月4日 C商店 ハ 1 10月5日 D商店 イ 1 10月6日 E商店 ロ 1 10月7日 F商店 ハ 1 10月8日 G商店 イ 2 10月9日 H商店 ロ 1 10月10日I商店 イ 1 10月11日J商店 ロ 2 10月12日K商店 ハ 1 (集計例) 10/5現在(10/2~10/5) 集計 イ(B18) 件数2 回数2 10/12現在(10/2~10/9) 集計 イ(B24) 件数3 回数4 10/2~10/5のイの件数の関数はCOUNTIF($C$3:$C$6,B18) 10/2~10/5のイの回数の関数はSUMIF($C$3:$C$6,B18,$D$3:$D$6) 10/2~10/9のイの回数の関数はCOUNTIF($C$3:$C$10,B24) 10/2~10/9のイの回数の関数はSUMIF($C$3:$C$10,B18,$D$3:$D$10) よろしくお願いいたします。

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

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

No.2です。 前回は間違っていました。 やり方は一緒ですが、作業用の列はI列だけの1列にしてください。 前回の配置と同じだとして、I3セルに =IF(A3="","",IF((A3-A$3)<7,ROW(),ROW(A$3)+7*(INT((A3-A$3)/7)))) という数式を入れフィルハンドルで下へずぃ~~~!っとコピーしておいてください。 そして、F3セルに =IF(A3="","",COUNTIF(INDIRECT("C$3:C"&I3),F$1)) G3セルに =IF(A3="","",SUMIF(INDIRECT("C$3:C"&I3),F$1,D$3:D3)) という数式を入れフィルハンドルで下へコピー これでないと10月12日分がお望みの表示にならないと思います。m(_ _)m

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

貼付画像のような処理でしょうか?(Excel 2007以降) D18=COUNTIFS($A$3:$A$6,">="&OFFSET($A$1,ROW()-ROW(A1),0),$A$3:$A$6,"<="&OFFSET($A$1,ROW()-ROW(A1),1),$C$3:$C$6,C18) E18=SUMIFS($D$3:$D$14,A$3:A$14,">="&OFFSET($A$1,ROW()-ROW(A1),0),A$3:A$14,"<="&OFFSET($A$1,ROW()-ROW(A1),1),C$3:C$14,C18) D18とE18を下へ2行コピーしました。 D24=COUNTIFS($A$3:$A$6,">="&OFFSET($A$1,ROW()-ROW(A1),0),$A$3:$A$6,"<="&OFFSET($A$1,ROW()-ROW(A1),1),$C$3:$C$6,C24) E24=SUMIFS($D$3:$D$14,A$3:A$14,">="&OFFSET($A$1,ROW()-ROW(A1),0),A$3:A$14,"<="&OFFSET($A$1,ROW()-ROW(A1),1),C$3:C$14,C24) D24とE24を下へ2行コピーしました。 集計期間の日付を変更すれば自動的にその期間の集計ができます。

mocha5320
質問者

お礼

回答ありがとうございます。 わかりにくい質問に実際表まで作成いただきありがとうございました。 tom04さんの回答で解決するようです。 ありがとうございました。

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

こんばんは! 解釈が違っていたらごめんなさい。 最初の日付から1週間ごとの集計を行いたい!とすると 質問文では10月2日が木曜日となりますので、次の週の水曜日までを1週間として その間の集計を表示したい!というコトでしょうかね? お示しの配置とは異なりますが、↓の画像のような配置にしてみました。 尚、作業用の列を2列設けています。 まず作業列1のI3セルに =IF(MOD(A3-A$3,7)=0,A3,"") 作業列2のJ3セルに =IF(COUNT(I3:I$1000),MAX(I$3:I3),"") という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。 そしてF3セルに =IF(A3="","",COUNTIFS(C$3:C3,F$1,J$3:J3,"<>")) G3セルに =IF(A3="","",SUMIFS(D$3:D3,C$3:C3,F$1,J$3:J3,"<>")) という数式を入れF3・G3セルを範囲指定 → G3セルのフィルハンドルで下へコピー! これでF1セルに 表示したい「担当名」を入力すれば画像のような感じになります。 ※ 作業列が目障りであれば非表示にしておきます。 ※ 画像ではセルの左上にエラーチェックオプションのマークが出ていますが これも目障りであれば メニュー → ファイル → オプション → 数式 → 「バックグラウンドでエラーチェックを行う」 のチェックを外しておきます。m(_ _)m

mocha5320
質問者

お礼

tom04さん 早速ご回答いただき感謝しております。 わかりにくい質問に、明瞭簡潔な指示ありがとうごさいます。 早速関数を組み込んで利用させていただきます。 ありがとうございました。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

求めているものが良くわからないので補足願います。 「10/12現在」と言いながら集計期間が10/2~10/9なのはどの様なルールに基づいているのでしょう。あるいは単に10/2~10/12の打ち間違いですか? 週ごとにまとめるなら10/6~10/12の様に思えますが……。 「イ(B18)」や「イ(B24)」のカッコの中は何ですか。セル位置でしょうか。

mocha5320
質問者

お礼

返信ありがとうございます。 わかりにくくて、申し訳ありません。 tom04さんの回答で解決するようです。 ありがとうございました。

関連するQ&A

  • エクセル関数のセル間の文字の代用について

    すみません。又教えてください。 C6には次の数式があります=SUMIF((INDIRECT($J$6)),"1イ",INDIRECT($L7))  B7には 1イ C7には次の数式があります=SUMIF((INDIRECT($J$6)),"1ロ",INDIRECT($L7))  B7には 1ロ C8には    ・・・・・・・・・  =SUMIF((INDIRECT($J$6)),"6ロ",INDIRECT($L7))  B8には 6ロ C9には    ・・・・・・・・・  =SUMIF((INDIRECT($J$6)),"2ロ",INDIRECT($L7))  B9には 2ロ  ・                                   ・  ・                                   ・ C25には次の数式があります。=SUMIF((INDIRECT($J$6)),"16イ",INDIRECT($L7))B25には16イ このようにセルCには数式の中に「1イ、1ロ、6ロ、2ロ・・・・」と同じ文字がセルBにも「1イ、1ロ、6ロ、2ロ・・・・・・・」とあります。 セルCの「1イ、1ロ、6ロ、2ロ・・・・」を直接書き込みしないで、既にあるセルBの「1イ、1ロ、6ロ、2ロ・・・・・・・」を使って、数式を使って? 何とか代用したいのですが、良い方法が分かりません。 セルCとセルBの「1イ、1ロ、6ロ、2ロ・・・・」はそれぞれ同じ順番です。 うまく質問できませんが、よろしくお願いします。 前回の質問に回答して頂いた皆さん、ありがとうございました。本当に助かりました。 ただ質問ばかりして申し訳ありません。私も勉強して1年後、2年後には皆さんの助けになれたら幸いです。

  • どんな関数を使えば良いのでしょうか?

    いつも、お世話になってます。 どのような関数を使えば良いのか教えてください。 例えば、   A B C D 1 あ イ 10 ? 2 い ロ 20 3 う ハ 30 4 あ イ 40 とセルに設定してあり、 A1の"あ"、B1の"イ"と同じ条件の、A4の"あ"、B4の"イ"の C1の"10"とC4の"40"の合計をD1に算式を設定したいのですが? 説明不足がありましたら補足しますので、宜しくお願いいたします。

  • エクセルのIF関数

      a b c イ 1 2 3 ロ 4 5 6 ハ 7 8 9 テスト問題を二元にし、このような組み合わせ表で、1~9の番号をマークシートに記入させることにしました。 手持ちの解答早見表を、「1ならイa」「3ならイc」のようにエクセルで作りたいのですが、IF関数を作ってもエラーばかり出てしまいます。どなたかこのIF関数が分かる方、教えていただけますか。 1  3   6 ・・・・ イa イc  ロc

  • エクセルの関数

     a b c イ 1 2 3 ロ 4 5 6 ハ 7 8 9 テスト問題を二元にし、このような組み合わせ表を作りました。作成した問題解答が偏らないよう見直しをするとき、「イaなら1」「イcなら3」のようにエクセルで解答早見表を作りたいのですが、関数をどのように作ったらいいでしょうか。

  • エクセル関数

    イ.グループ C2:C4の範囲で (1)又は(2) が存在 ロ.グループ C2:C4の範囲で (4)又は(5) が存在 ハ.グループ C2:C4の範囲で (7)又は(8)又は(9) が存在 イ、ロ、ハの各グループ(1)(2)、(4)(5)、(7)(8)(9)が同時に存在した場合 のみ●印で表す様にしたのですが、良い関数がありましたら 教えてください。 例えば イ.グループ C2:C4の範囲で (2) が存在した ロ.グループ C2:C4の範囲で (5) が存在した ハ.グループ C2:C4の範囲で (9) が存在した   この場合は●で表示。 よろしくお願いします。

  • エクセルのCOUNTIF関数で条件が2つある時

    すみません、どなたか教えてください。 シート2のセルD5には数式「=COUNTIF(INDIRECT($C$43),B5)」があり「2」と表示されています。 $C$43は数式「="1!$C$5:$C$"&E42」でE42セルには32の数字が入っています。つまりシート1のセルC5からC32までとシート2のB5が等しかったらシート2のセルD5に「件数を表示」です。 1件の条件の時のカウントはできました。 問題はこの次に、シート1のセルD5からセルD32とシート2のセルE5と等しいときにの条件を加えて「件数の表示」をしたいのですが、二つの条件があるときの書き方が分かりません。 つまり、 シート1のセルC5からセルC32までに入っている文字(1イ、2ロ、5,1ロ・・・)とシート2のB5の文字(1イ)が同じで、かつ、シート1のセルD5からD32までに入っている数字(23、19,21,40・・・)とシート2のセルE5の数字「23」と同じ時の件数を数えたい。と言うことですが、うまく説明できなくてすみません。 シート2のセルD5に数式「「=COUNTIF(INDIRECT($C$43),B5,IF(INDIRECT($D$43),E5,0))」 だとエラーになってしまいます。$D$43は「=1!$D$5:$D$"&E42」、E5はシート2のセルE5です。 おしえてください。

  • エクセル SUMIF関数

    SUMIFS関数で行き詰っています。ご教授願います。  A   B  C  D  ・・・AE AF AG・・・・・ 1    4月4月4月・・・・・・・・・・・・・5月・・・・←関数用 2    4/1 4/2 4/3・・・4/30 合計 5/1・・・6/30 3北海道 3  0  1 4東京  0  2  5 5東京  4  1  0 6神奈川 1  7  0 という表から下記の別表のように月毎・県毎の集計をしたいのですが、 現在は月毎に1列合計列を作成し、そこを使ってSUMIF関数で集計しています。 別表  A   B  C  D 1    4月 5月 6月 2北海道 4 3東京  12 4神奈川 8 合計行をなくし、SUMIFS関数で集計はできないものでしょうか? うまくいかない現在のSUMIFS関数は下記です。(恥ずかしい) SUMIFS(B3:XX6,A3:A6,別表A1,B1:XX1,別表B1) ※北海道 4月を集計 これでは「#VALUE!」です。 今まで通り月毎にSUMIFで集計するのは手間なので、どなたかご教授願います。

  • Excelで複数の結果を一つのセルに表示させる方法

    データ    A B C D E F G ・・・  イ * *   *  ロ   *  ハ  *    * から、行ごとに集計して、「*」のあるアルファベットを一つのセルに表示させるということをしたいのですが、良い方法が見つかりません。 例えば、イの行であれば[A B D]、ハの行であれば「B E」という感じです。 「LOOKUP関数」だと、最初にHITしたものしか返ってきません。 一つではなく、複数欲しいのです。 Excelに不慣れな者ですが、複雑な式であっても何とか頑張りたいと思います。 どなたかご教示お願いします。

  • エクセル関数で、ご教示下さい

    例として、セルA1~A10に、1.2.3.・・・・10と番号を入れて       セルB1~B10には、商品の在庫数が入力されているとします。 この時、セルC1に集計の開始番号 セルC2に集計の終了番号を入力すれば、      D1に開始番号から終了番号までのB列の合計を表示させたいのですが、      このような集計ができるD1に入れる関数はあるでしょうか。 例えば、B列の3行目から6行目までの合計をD1に表示させたい場合に      C1にA列番号の3を入力、C2には6を入力すれば、D1にB3からB6の合計を      表示してくれる、といった関数です。      開始番号、終了番号は、何番~何番までと、その都度変わります。 どなたか、よろしく、お願いいたします。         

  • エクセルの関数 (1ヶ月の件数と金額)について

    下記のように、1年間を通しての担当者ごと取引金額の表があります。 受付日 担当者 取引金額 1/5   山本  1500円 1/6   田中  2500円  ~ 2/5   山本  2800円  ~ 12/1   山本  3000円 1ヶ月ごとに担当者件数と取引金額をだしたいのですが、 1/1~1/31までの件数とどういう関数でだしたらいいのでしょうか? 1年を通しての件数は、下記でできるのですが、 件数 =COUNTIF(B1:B100,"山本") 金額 =SUMIF(B1:B100,山本,C1:C100) すいません、よろしくお願いします。

専門家に質問してみよう