• ベストアンサー

エクセルでセル数を数える方法

エクセルで条件に合致するセルをカウントしたいのですがどうすればよいか ご存知の方、ご教授下さい。 以下のような表があります。 A列「客先名」 B列「注文日」 C列「発送日」 D列「作業日」・・「C列」-「B列」です D列には「発送日」から「注文日」を引いた数 (発送までに何日かかったか)があります。 で、このD列のセルを作業日の期間ごとに何個あるか 数えたいのです。 具体的には、作業日が1~5日、6~10日、11~15日、16~20日、20日以上 という条件に合致するセル数を数えたいのです。 countif関数では○○以上や○○以下は出来ますが、 「1~5」までといった範囲の条件を入力できません。 よろしくお願いします。   

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

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

もっとエレガントな別解がありそうですが... countif関数同士を引き算してはダメですか? 例:countif(5以下)-countif(1未満) で、「1~5」のセル数を数えられると思います。

shift
質問者

お礼

ご回答ありがとうございます。 式も簡単ですし充分エレガントだと思います

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

以下の方法は如何でしょうか。 1.E1~E4に日数範囲を設定   5    10  15  20   2.F1~F5範囲をドラッグした状態で次の関数を設定  ={FREQUENCY(D:D,E1:E4)}  {}は、関数入力完了時、ctrlキーとshiftキーとenterキーを同時に押下して下さい。

shift
質問者

お礼

ご回答ありがとうございます。 参考にさせて頂きました。

全文を見る
すると、全ての回答が全文表示されます。
  • sakeman
  • ベストアンサー率43% (67/153)
回答No.2

#1の方の方法が分かりやすいと思います。 その他の方法をご紹介します。 1.SUMPRODUCT関数を使う方法 1~5日を求めるセルに、「=SUMPRODUCT((D1:D100>=1)*(D1:D100<=5))」と入力して下さい。 2.DCOUNT関数を使う方法 どこかのセル例えばセルF1,G1に「作業日」、セルF2に「>=1」、G2に「<=5」と入力する。 1~5日を求めるセルに、「=DCOUNT(A1:D100,D1,F1:G2)」と入力する。 DCOUNT関数を使う方法は複雑な条件でも可能です。 お試し下さい。

shift
質問者

お礼

ご回答ありがとうございます。 参考にさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 特定の条件で、指定の文字を含んだセルの数を数えたい

    条件に合ったセルを数え、さらにその行に指定した文字が含まれているセルの数を数えたいです。 if関数で試してみたり、countifやsumifなどでも試してみましたが、どうも希望通りになりません。 ご教授いただきたいです。 よろしくお願いいたします。 C列に F列から作業を選択し入力されます。 H列に C列の作業カウントが入ります。(ここはcountifでできました。) やりたいことは、 I列に C列の作業でD列に「NG 」となっている作業の数を数えたいです。 (本来ですとD列は「NG **さん」と文字が続きます。 答えとしては、 i3に 「1」 i4に「2」 i5に「1」 と表示させたいです。 よろしくお願いします。

  • 【エクセル】左隣のセルが「2」となっているセルの数を数えたい。

    いつもお世話になってます。 エクセル2003について、以下の条件を満たす関数式を教えてください。 A列にa、b、c、d、eと5種類の1文字がランダムに入力されています。 B列に1、2、3と3種類の数字1つが同様に入力されています。 ・左右のセルの組み合わせが「a」「2」となっている数だけ数えたいのですがどのような式で計測すれば良いのでしょうか? ・言い方を変えると、右隣が「2」の「b」のセルの数を数えたいのです。 ・オートフィルターは使わないこととします。 たびたびすみません。よろしくお願いします。

  • Excel(エクセル) 同じ列の空白でないセルの数を数える際、数えるセル範囲を流動的にしたい

    S,A,B,C,Dと評価をして、それぞれ2,1,0,-1,-2という点数にします。 その点数の合計を評価と同じ列に表示されるようにしたいのです。 以下に具体的な例をあげます。 [B3]セル =SUM(COUNTIF(B$5:B$11,"=S")*2,COUNTIF(B$5:B$11,"=A")*1,COUNTIF(B$5:B$11,"=B")*0,COUNTIF(B$5:B$11,"=C")*-1,COUNTIF(B$5:B$11,"=D")*-2) [B5]~[B11]セル 評価(S,A~D)を入力 ここまではいいのですが、したいのはB12セル以降に新しく値を入れたら、自動的にB12セル以降の点数も加えてB3セルに表示されるようにしたいのです。B3セルに「B$5:B$11」の「11」代わりにもっと大きな値を入れれば可能なのですが、それはしたくありません。また名前をつけてもいいのですが、オートフィル機能を利用してC列以降にも数式を入れたいため、どうしていいかわかりません。 どなたか解決策がお分かりになられる方がおられましたら、どうかお知恵を拝借願えないでしょうか? ※管理者の方へ 訂正して再投稿ました。前回の書き込みは削除していただけると幸いです。

  • 範囲の合計が条件を満たす数を数えたい

       A列    B列   C列   D列 1行  5     3 2行 3行       8 4行  6     4    2 5行  3 60行 上記の様な表で同じ行の各セルの数値の合計 が8以上の行の数を数えたいのです。 (A1+B1+C1+D1が8以上かどうかの以下60行目まで繰り返し) 例では3個 一列ならばCOUNTIF($A$1:$A$60,">=8")でOKなのでしょうが‥ 作業列を用いずに出来ないものでしょうか?お助け下さい。

  • 条件に当てはまる二つのセルの間のセル数取得関数

    ある行から「注文」という文字列のセルと「発送」という文字列のセルの間にあるセルの数か、「発見」という文字列のセルと「解決」という文字列のセルの間にあるセルの数を取得するための関数を作ろうと苦戦しています。 「発送」と「注文」の間を数えるだけなら、 =IFERROR(MATCH("発送",$G4:$ER4,0)-MATCH("注文",$G4:$ER4,0),"") で出来ました。 どうすれば複数条件にできるでしょうか?

  • エクセル 昇順並び替えの方法について

    質問させていただきます。今のところ受注した日をB列に 品名をC列に、注文者をD列に、E列に1回目の発送日、F列に 2回目発送予定日と3回目以降については列ごとで順に記載しています。   受注日     品名    注文者 1回目発送日 2回目発送日 A___B ________________C__________D__________E_______________F___________・・・ 1,,,,,,2005/03/01  とまと  あ さん 2005/04/01 2005/05/01 .... 2,,,,,,2005/03/02 なすび  い さん 2005/03/20 2005/04/10 ..... ・ ・ ・ といった感じです。 これを自動的にE列以降の日付の若い順に別のsheetもしくは同じ sheetの違う場所に昇順でB列に並べ替えをして、C列と D列は発送日に合致した品名と注文者、E列に受注した日としたいのですが 関数を組み合わせて別表を作成することは可能でしょうか?     発送日   品名    発注者   受注日 A___B______________C___________D___________E____________ 1,,,,,,2005/03/20 なすび   い さん  2005/03/02  2,,,,,,2005/04/01 とまと   あ さん  2005/03/01 3,,,,,,2005/04/10 なすび   い さん   2005/03/02 ・ ・ ・ 表は上記のイメージで作りたいということです。   易しく教えてくださる方がいましたら宜しくお願い 致します。

  • エクセルの条件範囲と合致したもの

    エクセルの条件範囲と合致したもの こんにちは。http://okwave.jp/qa/q5924759.htmlで質問していたのですが、 うまくいかないので、教えてください。 たとえば、同じシートで、 A1/B1/C1/D1・・・・・・←セル列 (スラッシュはセルだとします) A /1 /A /1 B /2 /B /2 D /3 /C E /4 /D /3 G /5 /E /4 I /6 /F / このように、列同士(A1の列とC1の列)が同じものがあった場合、A1の隣のセルであるB1のセルの数字をA4のセルに記載したい場合の数式を教えていただきたいです。D1に新たに追加されたものに関しては空白をしたいのです。 =IF(COUNTIF($A$1:$A$6,$C$1:$C$6)=0," ",IF(COUNTIF($A$1:$A$6,$C$1:$C$6)=1,B1)) この式を考えましたが、D1の列のDの部分の数字が"4"と記載されてしまい、本来なら"3"を 記載したいのですが、ずれてしまいます。 たぶん、条件の範囲のものとIFを合体させた数式になるのかなって思うのですが、 もし数式を教えていただければ幸いです。 何度も質問してすみません。。。よろしくお願いいたします。

  • エクセルの集計方法

    エクセルで2つの条件に合致するものだけカウントしたいのですが、「countif」を二つ使うとエラーが出てしまいます。  具体的にいうと…   A列:氏名   B列:スーパーの種類(a,b,c,d,e)   C列:買うものの種類(A,B,C,D,E)  B列で「b」、C列で「D」に該当する人数を数えたい  …という場合の数式を知りたいのです。    オートフィルターだといちいち選ばなければならないので、数式で2列に該当するものだけカウントしたいと思っています。

  • エクセル”検索条件はセル内のあいまい値”

    どうにも検討がつかず調べても対応したものができないのでお力添え願います。 D列に”A”と入力し、C列へ「D列のセル値が含まれた場合C値からB値をマイナスし それ以外は上のセル値を反映させる」としたいのですがどうするのがいいでしょうか。 直接値を指定してあいまい検索は『=IF(COUNTIF($A2,"*A*"),C1-$B2,C1)』でできたのですが この "*A*" 部分を”B”というときもあるのでD列のセル値であいまい検索としたいです。 A列の値は以下のように”A”の後ろに複数の数字がつくことがあります。 A列 A2 A3 B4 B3 B4 A2 A4

  • Excel(エクセル) 同じ列の空白でないセルの数を数える際、数えるセル範囲を流動的にしたい

    A~D評価をして、それぞれ2,1,0,-1,-2という点数にします。 その点数の合計を出したいのです。 以下に具体的な例をあげます。 [A1]セル =SUM(COUNTIF(A$2:A$11,"=A")*2,COUNTIF(A$2:A$11,"=B")*1,COUNTIF(A$2:A$11,"=C")*0,COUNTIF(A$2:A$11,"=D")*-1,COUNTIF(A$2:A$11,"=E")*-2) [A2]~[A11]セル 評価(A~D)を入力 ここまではいいのですが、したいのはA12セル以降に新しく値を入れたら、自動的にA12セル以降の点数も加えてA1セルに表示されるようにしたいのです。A1セルに「A$2:A$11」の「11」代わりにもっと大きな値を入れれば可能なのですが、それはしたくありません。また名前をつけてもいいのですが、オートフィル機能を利用してB列以降にも数式を入れたいため、どうしていいかわかりません。 どなたか解決策がお分かりになられる方がおられましたら、どうかお知恵を拝借願えないでしょうか?