• ベストアンサー

Excel 2007 複数条件での件数カウント2

Excel2007で作業をしており、添付のように各部署ごとに件数をカウントしたいです。 空欄のセルに件数が抽出されるような式をご教示いただけますと幸いです。 よろしくお願いいたします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 今仮に、「担当部署」と入力されているセルがSheet1のA1セルで、Sheet2において「営業」と入力されているのがA1セルであるものとします。  又、「未満」欄の最上段に10と入力されていますが、10未満としたのでは、点数が10.0の場合はカウントされない事になります。  ですから、質問欄の添付画像中では10と入力されているセルを空欄とした上で、「未満」欄が空欄の場合には、その左隣りの「~以上の」条件に合致するものは全てカウントする事が出来る様に、工夫するものとします。  まず、Sheet2のC3セル(「営業」の表中において「A2,A3,A4」と入力されている箇所の直下のセル)に次の関数を入力して下さい。 =IF(COUNT($A3,$B3),SUMPRODUCT(COUNTIFS(Sheet1!$A:$A,INDEX($A:$A,MATCH("*?",$A$1:$A3,-1)-1),Sheet1!$B:$B,REPLACE(LEFT(","&INDEX(C:C,MATCH("*?",$A$1:$A3,-1)),FIND(CHAR(1),SUBSTITUTE(INDEX(C:C,MATCH("*?",$A$1:$A3,-1))&",",",",CHAR(1),ROW(INDIRECT("Z1:Z"&LEN(INDEX(C:C,MATCH("*?",$A$1:$A3,-1)))-LEN(SUBSTITUTE(INDEX(C:C,MATCH("*?",$A$1:$A3,-1)),",",))+1))))),1,FIND(CHAR(1),SUBSTITUTE(","&INDEX(C:C,MATCH("*?",$A$1:$A3,-1)),",",CHAR(1),ROW(INDIRECT("Z1:Z"&LEN(INDEX(C:C,MATCH("*?",$A$1:$A3,-1)))-LEN(SUBSTITUTE(INDEX(C:C,MATCH("*?",$A$1:$A3,-1)),",",))+1)))),),Sheet1!$C:$C,IF(ISNUMBER($A3),">="&$A3,"<>"),Sheet1!$C:$C,IF(ISNUMBER($B3),"<"&$B3,"<>"))*1),"")  次に、Sheet2のC3セルをコピーして、Sheet2のC3~D7の範囲に貼り付けて下さい。  次に、Sheet2のC3~D7の範囲をコピーして、Sheet2のC10~D14の範囲、Sheet2のC17~D21の範囲、及びSheet2のC24~D28の範囲に、それぞれ貼り付けて下さい。  以上です。  因みに、上記の関数では、「A2,A3,A4」や「A5,A6,A7,A8」等の条件は、対象となるレベルが入力されているセルの内容を変更する事で、各部署毎に個別に変更する事が出来ます。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

作業列を作って対応します。 部署やレベルに文字列などは数値化して評価することにします。 シート1が元の表でA2セルから下方に部署名が、B2セルから下方にレベルが、C2セルから下方に点数が入力されているとして例えばE2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,ROUNDDOWN(MAX(E$1:E1),-3)+1000,ROUNDDOWN(INDEX(E$1:E1,MATCH(A2,A:A,0)),-3))+IF(OR(B2="A2",B2="A3",B2="A4"),100,200)+C2) シート2にお求めの表を表示させるとしてA1セルに営業、A2セルからD2セルにかけて、およびA3セルからB7セルにはお示しの文字列や数値が入力されているとします。 C3セルには次の式を入力してD3セルまで℃ラグコピーしたのちに7行目まで下方にドラッグコピーします。 =COUNTIF(Sheet1!$E:$E,">="&(ROUNDDOWN(INDEX(Sheet1!$E:$E,MATCH($A$1,Sheet1!$A:$A,0)),-3)+COLUMN(A1)*100+$A3))-COUNTIF(Sheet1!$E:$E,">="&((ROUNDDOWN(INDEX(Sheet1!$E:$E,MATCH($A$1,Sheet1!$A:$A,0)),-3)+COLUMN(A1)*100+$B3))) その後は例えばA1セルからD7セルの範囲を選択してコピーし、A8セルに貼り付けます。 C10セルの式を次のように変更してD10セルまでドラッグコピーしたのちに14行目まで下方にもドラッグコピーします。 =COUNTIF(Sheet1!$E:$E,">="&(ROUNDDOWN(INDEX(Sheet1!$E:$E,MATCH($A$8,Sheet1!$A:$A,0)),-3)+COLUMN(A8)*100+$A10))-COUNTIF(Sheet1!$E:$E,">="&((ROUNDDOWN(INDEX(Sheet1!$E:$E,MATCH($A$8,Sheet1!$A:$A,0)),-3)+COLUMN(A8)*100+$B10))) C3セルとC10セルへの入力の式では$A$1を$A$8に変更すればよいでしょう。 また、その表を開発にするのでしたらA8セルの文字列を開発に変更します。 同様にして他の部署の表も作成することができますね。 文字列などを数値化して評価することで表の作成を簡単にすることができますね。

関連するQ&A

  • Excel 2007 複数条件での件数カウント

    至急でデータを作成する必要がありご教示いただけますと助かります。 Excel 2007において以下の状態、条件にて結果を抽出するための式(下記?を求める式)を教えてください。 【状態】 レベル   点数 (文字列) (数値)   A3     9.1 A5     8.6 A7     7.6 A4     4.2 A6     3.1 A8     6.8 A2     2.1 A6     5.8 A3     6.8 【条件】        A2, A3, A4の件数   A5, A6, A7,A8の件数 9.1~    ?            ? 7.5~9.0  ?            ? 5.7~7.4  ?            ? 4.0~5.6  ?            ? ~3.9    ?            ? 【文章にすると(一部)】 A2, A3, A4のレベルで9.1点以上の件数は?(回答1件) A5, A6, A7, A8のレベルで5.7点以上、7.4以下の件数は?(回答2件) 以上、よろしくお願いいたします。

  • 【画像あり】複数条件の件数カウントについて

    タイトルの件、質問いたします。 下記の図の、シート2の条件が下記の件数をカウントできる関数を、シート1のB2セルに 作りたいです。 【条件】 A列【受付日】が、4月中で      かつ B列【地域 】が、東京で      かつ C列【分類1】が、A   の件数 ご存知の方、いらっしゃいましたら、宜しくお願いします。

  • エクセルカウントの関数教えて下さい!

    エクセルカウントの関数教えて下さい! 今k25:k44の範囲の中で文字(2文字)が入ったセルと空欄のセルが有ります。 文字の入ったセルと空欄のセルのカウントの式をどうしたら良いか悩んでいます。 文字の入ったセルの指定方法が分かりません。

  • 複数条件に合致する件数をカウント

    別シートにあるExcelのデータから、別シートに複数条件に合致する件数をカウントした集計表を作成したいのですが、何か一番適当な関数はないでしょうか? データベース関数のDCOUNTA等も試してみましたが、いまいちうまくいきません。 ちなみに、条件としては多くても4つくらいまでです。 抽象的な説明で分かりにくいかとは思いますが、皆さんのお知恵を貸してください。よろしくお願いします。(※Excel2000使用)

  • 【Excel】日別のIDの件数をカウントする方法

    初めまして。 日別のID利用件数の管理について、Excelに詳しい方、何卒ご教授くださいませ。 Sheet1のA列に日付、B列には利用のあった回数、C列には利用されたお客様のIDの件数(個数)を入力するセルが用意されています。 Sheet2のA列に日付、B列にはIDを入力するセルがあり、こちらに利用のあった日付とお客様のIDを入力しています。(抽出した別データから1週間分をまとめてコピペする形で入力しています) このSheet2を参照の元、Sheet1のC列に日別の利用ID件数をカウントするにはどのような式を入力すれば良いでしょうか? なお、IDは重複しているものは1としてカウントしたく、できれば作業列も作らずにそのままSheet1のC列に式を入力したいです。 添付画像を例にしますと、12月1日は4回利用がありましたが”00001”のIDで2回利用があったため、この日の利用IDの件数は”3”。 というのをSheet1のC列に日別で反映されるようにしたいと思っています。 わかりづらい説明かもしれませんが、調べて色々試しても上手くいかず、とても困っているのでよろしくお願い致します!

  • Excelのカウントがうまくいきません。

    Excel初心者です。 添付画像のような例の場合のカウントがうまくいかず困っています。 Excelに詳しい方、どうかご教示いただけますようお願い致します。 カウントしたい条件は下記の通りです。 (1)A1~A5の範囲で数値の入っているセルをカウントする。  ⇒今回の例ではA1とA3とA4がカウントの対象。 (2)B1~B5の範囲で「みかん」「りんご」「柿」の  いずれかの単語が入力されているセルをカウントする。  ただし、A1~A5のセルが空白の場合のみ、  これらの単語が入力されているセルをカウントする。  ⇒今回の例ではB2とB5がカウントの対象。  尚且つ、ひとつのセルに複数の単語が入力されている場合は、  単語の数に関わらず、カウントを1とする。  ⇒今回の例ではB5がカウントの対象。 以上の条件を満たす合計をB7に求める数式を悩んでおり、 今回の例ならば、B7の合計は5となるはずなのですが、 なかなかうまくいきません。 どうぞ宜しくお願い致します。

  • EXCELで、空欄以外の件数の数え方

    こんにちは。 EXCELで、空欄以外の件数の数え方を教えてください。 スペースもカウントの対象になるみたいです。 スペースは空欄として、件数にいれたくないので とくに、その部分の関数の使い方を、よろしくお願い致します。

  • EXCELでの期間のカウント方法

    EXCELのA列に日付が入っているのですが、決められた期間のセルをカウントしたいのです。 例 日付  5月件数 6月件数 7月件数  6/1    2    3    1  6/3       5/24      7/16 5/1 6/30 このようにカウントしたいのですが、具体的にはどのような式を作ればよいでしょうか? ご存知のかたがいらっしゃいましたらよろしくお願い致します。

  • EXCELで複数のセルの条件からカウントする

    昨日ほとんど同じ内容を質問させていただきましたが、もう一つだけちょっと内容が違うものを質問させてください。(スイマセン) たとえば、A列に1~12の数値が適当に並んでいます。 そしてG列には年齢の数値が並んでいます。 ここでまずG列から20歳以上29歳以下を次のようにカウントします。 COUNTIF(G:G,">=20")-COUNTIF(G:G,">29") この式で20~29の件数をカウントする事は出来ました。 そこでこのカウントの条件に、A列が「7」のものだけカウントする。 こういったことは出来るのでしょうか? よろしくお願い致します。

  • 関数で可視セルのデータ個数カウント

    Excel2002を使用しています。 オートフィルタで抽出したデータの個数を関数で カウントしたいのですが、可視セルのみをカウント 出来る関数はあるのでしょうか? 例えば   A 1 件数 2  2 3  1 4  3 5  1 6 関数 A6セルに何らかの関数を入れておき、 A列のオートフィルタを使って、1を抽出した時は A6に”2” 3を抽出した時はA6に”1”を表示させたいの です。 このように、可視セルのデータ個数のみを カウントする関数はありますでしょうか? フィルタを使わずにCOUNTIF関数でカウントする 方法、また、可視セルをコピー貼り付け後 カウントする方法は避け、あくまでフィルタで 抽出したデータの個数を瞬時にカウントしたいの です。 ご教授宜しくお願いします。

専門家に質問してみよう