Excelで同数値の数を数える方法と注意点

このQ&Aのポイント
  • Excelの関数を使って同数値の数を数える方法について解説します。具体的には、COUNTIF関数を使用することで、指定した範囲内で特定の値がいくつあるかを数えることができます。ただし、空白セルが含まれる場合に注意が必要です。
  • COUNTIF関数を使って同数値の数を数える際、空白セルもカウントされてしまうという問題があります。これを回避するためには、IF関数を組み合わせて条件分岐させる方法があります。具体的には、「=IF(A1="","",COUNTIF($A$1:$A$3,A1))」という式を使用することで、A列のセルが空白の場合はカウントせず、空白でない場合はCOUNTIF関数を適用することができます。
  • ただし、この方法では関数が入力されたセルが空白になるだけでなく、COUNTIF関数自体も空白を含んだ範囲を参照するため、空白セルまでカウントされてしまいます。この問題を回避する方法として、COUNTIF関数の範囲指定を除外する方法があります。具体的には、「=IF(A1="","",COUNTIF($A$1:$A$3,A1)-COUNTIF($A$1:$A$3,""))」という式を使用することで、空白セルを除外して同数値の数を正確に数えることができます。ただし、空白セルがある場合でもCOUNTIF関数自体は正常に動作しますので、注意が必要です。
回答を見る
  • ベストアンサー

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の関数を消すとうまくいくのですが、 消さずに、空白セルをカウントしない ようにする方法はあるでしょうか。 お返事お待ちしています。  

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

  • ベストアンサー
noname#256877
noname#256877
回答No.5

もしかして・・・ =IF(Trim(C1)="","",COUNTIF($A$1:$C$3,C1)) とC1のセルに入力すると、上手くいったりしません? ↑であれば、空(から)と思っているセルに、空白という文字が入っている可能性があります。

maolique
質問者

お礼

ありがとうございます! >=IF(Trim(C1)="","",COUNTIF($A$1:$C$3,C1)) >とC1のセルに入力すると、上手くいったりしません? この方法で空白と思っていた(すみません・・・) セルの問題が解決しました! 奇麗に、カウントしたい数値の個数だけが 表示できています!! 初歩的な質問にお答えいただいて、 本当にありがとうございました。 助かりました!!!

その他の回答 (5)

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

行Aとか表現してあるのは、列Aの間違いではないのですか。 頭が混乱して読むのが苦しいです。この程度の約束は守ってほしい。

maolique
質問者

お礼

申し訳ありません。 おっしゃるとおりに「行」と「列」を 間違えておりました。お恥ずかしい限りです。 おかげさまで解決いたしました。 ありがとうございました。

回答No.4

A列の合計とC列の合計を足しこんだらだめでしょうか? D列の式です。 IF(C1="","",IF(B1="","",B1+COUNTIF($C$1:$C$3,C1)))

maolique
質問者

お礼

ありがとうございます。 D列も、元の式では空白セル以外はカウント 出来ています。 なんとか空白セルの関数を消さずに処理したいのですが・・・

  • odessa7
  • ベストアンサー率52% (101/192)
回答No.3

 オプションで「ゼロ値」表示のチェックが外れていませんか?その場合は =IF(OR(A1="",A1=0),"",COUNTIF($A$1:$A$3,A1))  でうまくいくと思うのですが。  間違っていたらすみません。

maolique
質問者

お礼

ありがとうございます。 チェック有と無しでどちらもやってみましたが、 やはり空白セルがカウントされてしまいます・・・(>_<)

noname#256877
noname#256877
回答No.2

D1のセルに =IF(C1="","",COUNTIF($A$1:$C$3,C1)) とすると、正しく結果表示しましたが・・・? (Win2000/Office2003) ただし、件数が多くなりB列が200を超えると違う数を返してしまいますが・・・ ちなみに、→が行で↓が列です。 質問するときには誤解を招くので注意しましょう

maolique
質問者

お礼

行と列の事、お恥ずかしいです。 ありがとうございました。

maolique
質問者

補足

>D1のセルに >=IF(C1="","",COUNTIF($A$1:$C$3,C1)) >とすると、正しく結果表示しましたが・・・? この時、C1のセルに数式や関数が入力されていると うまくいかないのです。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

行Aの関数で、空白を返している(と言われている)値が ""ではないのではないでしょうか?

maolique
質問者

お礼

ありがとうございます。 もう少し調べてみます。

関連するQ&A

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

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

  • エクセルの数をかぞえる関数のAND

    EXEL2003を使用しています。 A列には空白セル、「Y」「B」がランダムに入っています。 B列には、人物の名前「中村」「高橋」「村田」がランダムに入っています。 A列が「Y」で、B列が「高橋」の行の数だけをカウントする条件付関数はどうなるでしょうか? COUNTIFとAND関数を使用すると思うのですが、使い方がわかりません。 よろしくお願いします。

  • エクセル関数で600番台の数取得

    セル範囲A1:A20に数式で数値が表示されています。 数式で=""が表示されるため、空白に見えるセルもあります。 この範囲から600から699までの数値がいくつあるか取得しようと思います。 =COUNTIF(A1:A20,">=600")-COUNTIF(A1:A20,">=700") 以上の関数でできるとは思いますが、ほかの関数があればご教示ください。 なお、オートフィルターは使用しないものとします。 エクセル2010です。

  • この場合の関数を教えてください。IF関数とCOUNTIF関数?

      A      B    C  D  F  G 1 12300 2 9800 3 14500 上記の様な表($a$1:$d$3) がある時、 B1 ◎      D1 △   F1◎     C2◎         F2△ B3△      D3◎ F1 に◎を入れた時に、 もし、A列の値が10000より大きいなら(注)、範囲$a$1:$d$3の◎の数を数え結果をG1に2と表示させたいです。(F2に△と入れたら2と表示) (注) 1行目は、12300(A1)なので1行目はカウントの範囲。 2行目は、9800で10000より小さいのでカウントの範囲から外れる。 3行目は、14500はカウントの範囲。 2行目の◎(C2)はカウントされないようにするには、 G1にどのようなCOUNTIFの関数を入れればよいのでしょうか? いつも教えているので、考えたのですが? =IF(A1>10000,COUNTIF($B$1:$D$3,F1),"0")では、間違いとは気づいたのですが? (A1>10000が間違い)どの様にして良いか解りません。 どなたか教えてください。宜しくお願いいたします。 (見にくい表で申し訳ありません)

  • エクセルのCOUNTIFについて

    A,B,Cのセル内の数値の個数ををCOUNTIFで求めました。 普通にできたのですが、A,B,Cのセルに関数を入れて、 計算結果をCOUNTIFで求めようとしましたがNGでした。 関数の結果をカウントする方法がありましたらお願いします。

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

  • エクセルデータのカウント

    A1:E5にデータが入力してあります。(空白セルもあり) C列、D列、E列のどれか1つのセルにでもデータ(数値) が入っている行の数をカウントして、A6に表示する 方法を教えてください。 たとえばF列に、=COUNT(C1:E1)を計算する行を入れて、 A8で=COUNTIF(F1:F5,">=1")をすれば、できるのだと思うのですが、 そのために行を増やしたくないのです。

  • エクセルで指定位置から何セル移動すると空白ではなくなるか?

    A1に計算式を挿入したいのです。 A1からG1セルの間で、A1から何個目が空白ではないセルが あるかというのがしりたいのです? つまり B1、C1、D1には空白を E1には10.5などの数字を F1、G1には空白としたとき A1には3(もしくは4)を表示させたいのです。 COUNTIFでは空白の個数をカウントしますが、ある値までの空白の個数をカウントなんてできますでしょうか? 動的な計算しきにしたくて、今回はB1にセルを挿入して(数字)、次回はまたB1にセルを挿入して今度は空白としていった場合に、最近の値が入ったセルを表示できればと 考えています。 申し訳ございません、説明がクリアーではなくって。 こんなことって可能でしょうか? アドバイスお願いします。

  • エクセルの参照先(仕事で困ってます。)

      A1 B1 C1 D1 1 ■ - - - 2 ■ - - - 3 ■ - - - 4 ■ - - - 5 ■ - - - 6 - - - ● 7 ■ - - - 上の図の様にA列には1~6行にかけて■があるところに数値が入っています。 その時により1行から何行はいるかわからないのですが、 最後の行は空白にして、また次の行から数値が入るようになっています。 空白から空白までの行を合計して(今回はA1~A6)をD6に表示させたいのですが、なにぶんA列には何行入力されるか、空白が来るかなどはランダムです。 このような場合に、D列にはどのような関数を貼り付けたりしたら いいでしょうか? 入力するのはA列の数値だけにしたいということです。                                                                                        

  • エクセル 隣のセルの数値によって文字を表示させる

    こんにちわ。 いろいろ試したのですがいまくいかないので質問させてください。 C1セルに計算式(=B2/A2)が入っていて数値が出ているんですが、 その数値が20より小さいとき、隣のセルD1に「←!!!」 20より大きいときは空白にしたいのです。 今D1に入力しているのは下記の関数ですが↓ =IF(C1<=20,"←!!!","") これでは20以上の数値でも「←!!!」が表示され、 どうしたらいいのかわかりません。 助けてくださいー!よろしくお願いいたします。

専門家に質問してみよう