プロが教える店舗&オフィスのセキュリティ対策術

エクセルについてです。
ランダムに1から100までの数値が入力されているセルがあります。この中から16〜30までの数字の個数を集計したいのですが、検索条件どのように入れればよいのでしょうか?
あまり関数がよくわからないので、教えてください。
よろしくお願いします。

A 回答 (6件)

そのデータが縦一列に並んでいるならフィルタ機能を使うのがよいと思います。

いろいろと応用がきくからです。
(縦一列に並んでなかったらスルーしてください。)

データがA3~A103にあるとして説明します。A3とした理由は、データの上に1行必要だからです。できれば2行ほしいから)

◆手順
1.2行目を行選択して、データ⇒フィルタとします。
2.A2セルに▼が表示されるのでクリックします。
3.数値フィルタ⇒指定の範囲内 として、以上・以下の数値を入力してOKとします。
4.これでステータスバー(エクセルの下端枠)にフィルタリングされた数が表示されます。個数を知りたいだけならここまでで完了です。
5.関数で個数をだす場合には、A1セルに『=SUBTOTAL(2,A3:A103)』と入力すればよいです。

SUBTOTAL関数はフィルタリングが考慮されますが、COUNT関数など通常の関数ではフィルタリングが考慮されない点に注意です。

◆補足
SUBTOTAL関数のひとつめの引数を変えることで平均や合計などをだすことができます。(下記)

引数  集計方法 関数
1   平均   AVERAGE
2   個数   COUNT
3   個数   COUNTA
4   最大   MAX
5   最小   MIN
など
    • good
    • 0

ご質問者は、


>この中から16〜30までの数字の個数を集計したい
とおっしゃっているので、COUNTIF関連の関数を用いて数える、SUMPRODUCT関数で集計する、FREQUENCY関数で出現頻度を捉えるなどといった方法が考えられます。
FREQUENCY関数の第二引数には、そもそも「~超~以下」の意味が含まれているので、数式が短くて済みます。
No.4さんがFREQUENCY関数を使用した回答をされていらっしゃいます。
>スピルに対応していないことが前提です。
という注釈つきなので、注釈無しにするとどうなるか考えてみました。

=INDEX(FREQUENCY(A:A,{15,30}),2)

という数式なら、スピル対応バージョンでも、それ以外でも使えます。
つまり、EXCEL365、EXCELオンライン、2007以降で365より前のEXCELバージョン、Googleスプレッドシート、WPS Office、LibreOfficeなどでもOKです。
但し、(バージョン2007以降という注釈は、FREQUENCY関数でも同じなので、それ以外の)注釈なしで数式の短さを競うなら

=COUNTIFS(A:A,">15",A:A,"<31")

より長い数式になってしまいます。

このため、No.4さんは敢えて注釈付きで短い数式を投稿されたのだと思います。
    • good
    • 0

> が最も短い式かと。


=FREQUENCY(A:A,{30,15})

スピルに対応していないことが前提です。
    • good
    • 0
この回答へのお礼

お答えいただきましてありがとうございました。

お礼日時:2021/09/17 19:34

「1から100までの」整数だけ「が入力されているセルが」A列にあるとすれば、


=COUNTIFS(A:A,">15",A:A,"<31")
が最も短い式かと。
「SUMPRODUCT」や「=」を使うと長くなるゥ~(*^_^*)
    • good
    • 0
この回答へのお礼

お答えいただきましてありがとうございました。

お礼日時:2021/09/17 19:37

100個の数値がA1:A100にあるものとして、


=SUMPRODUCT((A1:A100>=16)*(A1:A100<=30))
ではどうでしょうか。
    • good
    • 0
この回答へのお礼

お答えいただきましてありがとうございました。

お礼日時:2021/09/17 19:37

https://dekiru.net/article/4514/

=COUNTIFS(セル範囲,">=16",セル範囲,"<=30")
    • good
    • 0
この回答へのお礼

お答えいただきましてありがとうございました。

お礼日時:2021/09/17 19:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!