• ベストアンサー

EXCELで数値の入ったセルがいくつあるか計数

EXCELで数値の入ったセルがいくつあるか計数したい。 どうすればいいか。 例題 1~200までの値の範囲でF1~F300までの各セルにランダムに数値が入っています。 これを次の4つに分類し各カウントをする。 (a):値が1~5までが何個 (b):値が6~10まで何個 (c):値が11~20まで何個 (d):値が21以上何個

  • taktta
  • お礼率72% (1031/1430)

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

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.1

こんにちは    A  B  C 1  1  5  式 2  6 10  ↓ 3 11 20  ↓ 4 21     ↓ セルC1に 式 =COUNTIF($F$1:$F$300,">="&A1)-COUNTIF($F$1:$F$300,">"&B1) C4までコピー で試してみて下さい

taktta
質問者

お礼

どうもありがとうございます。うまく解決しました。 なお最後のC4式で,">"&B4は 意味上ヌルより大でヌルより大は全てのセルが該当するよう考えてしまうのですが、事実はカウント0になりますね。この理由はなんなんでしょうか。

taktta
質問者

補足

非常にエレガントな回答、かつ応用がきく解法を示され感動いたしました。 ところで,">="&A1が1以上という意味だとはわかりますが(答えから)、この条件式の&は論理式のANDとイコールなのでしょうか。初心者ですのですみませんお教えください。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

#2です。 >残念ながら意味がわかりません。-->残念です。 やっていることは (1)セルの値が1~5にはコード1を    値が6~10までにはコード2を    値が11~20までにはコード3を    値が21以上にはコード4を一旦別列(使っていない列)にセットしています。その表の作り方がちょっと工夫が必要です。 (2)その後上記の新たにセットしたコード1-4について、件数を数えるわけです。 VLOOKUP関数は解説書で勉強してください。 WEBでもVLOOKUPで照会すると、沢山解説が出てきます。 http://www.rericca.com/qa/ex6.htmほか多数。 第4引数が本件のようにTRUEと他にFALSEの場合があり、用途が変ります。 FALSEは表引き TRUEは封書の重さと郵便料金計算や区分分けをイメージしてください。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#2です。 >残念ながら意味がわかりません。-->残念です。 やっていることは (1)セルの値が1~5にはコード1を    値が6~10までにはコード2を    値が11~20までにはコード3を    値が21以上にはコード4を一旦別列(使っていない列)にセットしています。その表の作り方がちょっと工夫が必要です。 (2)その後上記の新たにセットしたコード1-4について、件数を数えるわけです。 VLOOKUP関数は解説書で勉強してください。 WEBでもVLOOKUPで照会すると、沢山解説が出てきます。 http://www.rericca.com/qa/ex6.htmほか多数。 第4引数が本件のようにTRUEと他にFALSEの場合があり、用途が変ります。 FALSEは表引き TRUEは封書の重さと郵便料金計算や区分分けをイメージしてください。

taktta
質問者

お礼

やってみるとなかなか味わい深い手法であることがわかりました。 非常に楽しい時をすごさせていただきました。 エクセルの関数は使いこなすと非常に深いことができるんですね。改めて興味がわいてきました。 どうもごていねいにありがとうございました。

  • comv
  • ベストアンサー率52% (322/612)
回答No.3

こんばんは #1のcomv です >この条件式の&は論理式のANDとイコールなの >でしょうか。 [&]これは文字列演算子のアンパサンドと呼ばれるもので 複数の文字列を連結して1つの文字列にするものです。 例    A   B   C    D 1 今日は  晴れ  です  =A1&B1&C1  で D列には 今日は晴れです となります。 COUNTIF() の条件部分を 文字列 ">=" 以上 と 参照セルの値 A1 を連結した文字列の結果 ">=1" が検索条件となるようにしたものです。 >なお最後のC4式で,">"&B4は意味上ヌルより大で >ヌルより大は全てのセルが該当するよう考えて >しまうのですが 試されて結果は納得されているので、考え方だけ! 先ほどの文字列の連結結果で COUNTIF(範囲,">")  となりますが、これは何に対しても反応しません たとえば可能性のある ="" などを参照範囲に記載 して 条件を ">=" "<" "<="にしても同様です。 要は全てに該当しません! 全てに該当は "<>" (空白以外)となります。 COUNTA() と同じ意味でエラー値をもカウントします 逆に空白にのみをカウントは "=" です 数式結果の=""があっても無視しますのでCOUNTBLANK() とは多少違います。 また直接""を指定する ">""" の条件は""より大きい となり 文字列 の記載のあるセルをカウントします。 ""は文字数0文字の文字列ですから1文字以上の文字 より小さいことになります。 ただし "<""" としても数値はカウントしません これは ">0"と数値指定したときは対象を数値のみに "<a"などと文字指定したときは対象を文字列のみで 検索するためです。 機会があれば色々使い分けてみてください!

taktta
質問者

お礼

ていねいな解説ありがとうございました。 なるほどコンカチネートの意味でアンパサンドをつかうのですね。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

2段構えなのですが A列にデータがあるとする。 D1:E4に 0 1 6 2 11 3 21 4 の表を作る。 B1に=VLOOKUP(A1,$D$1:$E$4,2,TRUE)を入れ下方向に 複写する。B列にはコード1-4のどれかが入る。 C1に=COUNTIF(B1:B20,1)で(または=COUNTIF($B$1:$B$20,1))B列コード1の行数を, =COUNTIF(B1:B20,2)でコード2の行数を数えます。 B20は最下行に変えてください。 テーブルを刻みに注意することと第4引数はTRUE です。

taktta
質問者

補足

残念ながら意味がわかりません。VLOOKUP(A1,$D$1:$E$4,2,TRUE)この意味はなんでしょうか、

関連するQ&A

  • Excelで同数値の数を数える

    次のような数値があるとします。  A   B   C   D  201   1   205   2           201   2   205   1   203   1  行A、Cには201、202などの値がランダムに 表示されています。(関数で表示された値です) 行Bには、例えばB1にはA1:A3の範囲中にA1セルで表示されて いる値と同じ値がいくつあるかをカウントしてあるのですが、 このカウントに関数を使いたいのです。 行Dには、A1:C3の範囲で同じようにカウントした結果を表示 させたいと思います。 同じ行に同じ値が表示されていることはありません。 AとCのセルが空白の場合はBとDも空白にしたいため、 IF(A1="","",COUNTIF($A$1:$A$3,A1)) と入力してみたのですが、空白セルに関数があるせいか、 空白セルまでカウントされてしまいます。 行Aの関数を消すとうまくいくのですが、 消さずに、空白セルをカウントしない ようにする方法はあるでしょうか。 お返事お待ちしています。  

  • 組み合わせがあった時その隣の数値を表す関数を教えて欲しいのですが?

    何時も色々教えて頂き有難うございます。   A      B     C      D      E       F 1  2      3     12     5or8     8or5      16 2  5      8     16                 3  6      1     8              4  7      4     5.2      4      7          5.2 5  3      9     4.6       ・      ・         ・ 上記のように範囲A1からC5に(同様にB1、C1、・・・)から縦にランダムな数字 横にもランダムな数字が入っている表が有ったとします。 この時、D1のセルに5(又は8) E1のセルに8(又は5)と数値を入れた時F1にはCの11を表示させたいです。 (横軸で5と8の組み合わせをA1からB5の範囲で探し、その組み合わせがあった時、C列の対応する数値をFのセルに入れたいです) 上手く説明できてないかも知れませんが、その場合には再度補足を入れますので、どなたか教えて頂けないでしょうか? (エクセルの知識は独学で、初心者レベルです)。 宜しくお願い致します。

  • 数値で示されたセルを表示させたい

    エクセルで、C1からG1の5つのセルに適当な数値が入っており、B1に1から5の数値を入れたときに、A1の箇所に、1だったらC1の、2だったらD1の、3だったらE1の、4だったらF1の、5だったらG1の数値を表示させようと思うと、どういった関数を使えば宜しいでしょうか?

  • ランダム数値によるセルの塗りつぶし

    A列のセルに1~20のランダムな数値が入っています。 この数値xに従い、右セルx個に○を入力したいのですが可能でしょうか 例: A1セルに「3」と入っていれば B1から右3セル(B1,C1,D1)セルに"○"を入力する

  • エクセル:数値入力後、一致したセルの”塗りつぶし

    いつもお世話になります。 エクセルの計算式が使えるかお願い致します。 セル(A1からC1)に任意で数値が入力されています。 その数値がセル(E1からI1)固定の数値と一致した場合、一致したところだけ”塗りつぶし”する方法がありますか。 (EX)    A1 B1 C1 D1 E1 F1 G1 H1 I1 1  1  3  5  1  2  3  4  5  2  1  2  5  1  2  3  4  5  3  2  3  4  1  2  3  4  5 

  • Excelセル値入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。C列の数式はD列に表示しています。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。B4に入力する数式をどうかよろしくお願いします。

  • エクセルで、範囲内の該当セルを探してその一つ下のセルの値を全て加算した

    エクセルで、範囲内の該当セルを探してその一つ下のセルの値を全て加算したいのです。どうすればよいですか? 例: _A, _B, _C, _A, _B, _D, _A, _F 20, _5, 40, 30, 20, 80, 40, 30 という範囲があった時に 項目 _A, _B, _C, _D, _E, _F 合計 90, 25, _0, 80, _0, 30 という集計がおこないたいのです。 データ量が結構な数ありますので、手動は避けたいのです。 よろしくお願いします。

  • エクセルで同じ名前の人のセルの数値を合計したい

    エクセルで同じ名前の人のセルの値を合計したいと思っています。 具体的には 4月      5月     6月 Aさん 100  Aさん 70  Bさん 35 Bさん 500  Bさん 60  Fさん 90 Cさん 50   Dさん 80 Eさん 120 となっています。 最後の欄にAさん○○、Bさん△△というふうにそれぞれの人の 数値の合計を求めたいのです。 関数で解決できるでしょうか? (※ VBAは全く分かりません。。。) どなか詳しい方がいらっしゃれば、お教え下さい。 宜しくお願い致します。

  • (エクセル)複数のセルの数値を、一つのセル羅列したい

    いつもお世話になります。 エクセル初心者(マクロも関数も;;)です。 表題の通り、複数のセルにある数値を一つのセルにまとめる方法を探しています。 例えば、 --------------------------     A   B   C   D 1   123  45   67  1234567 2   00   11   22  001122 -------------------------- のようにDの縦列にA・B・Cの数値を (合計ではなく)羅列させたいのです。 すごく初歩的な質問のようなことだと思いますが これがわかりません。。。 どうか簡単な方法を教えて下さい。 あと数値じゃなくて文字列でも同じような事ができるでしょうか? 環境:Excel2003

  • エクセル2010で二つのセルを一つにまとめる関数

    エクセル2010を使っています。 二つのセルに入っているそれぞれの数値を、1つのセルに文字のようにまとめたいです。 例えば、 B2に3、C2に4、なら、D2に34、です。 ただ、 B3に数値が入っていて(例えば5)、C3が空白なら、D3は、B3の数値(5) としたいです。 これらの条件を満たす、D列にいれる関数を教えてください。 どうぞよろしくお願いします。

専門家に質問してみよう