[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『指定文字が入力されたセルの数を数える』(あらいぐま)
次のような表で、新潟と入力されたセルの数を数えたいと思います。
A B C D E F 1 新潟 秋田 福岡 山形 山梨 2 3 東京 新潟 新潟 秋田 山形 4 5 6 山梨 山形 福岡 富山 福井 7
小生の知識ではエクセルの関数COUNTIFを使って
=COUNTIF(A1:F1,"新潟")+COUNTIF(A3:F3,"新潟")+COUNTIF(A6:F6,"新潟")
と結果を表示するセルに式を入力することで処理をすることしか考えつきません。
(A1:F1,A3:F3,A6:F6,"新潟")のように複数の検索範囲を一度に指定して処理する方法(関数)はありませんか?
< 使用 Excel:Excel2013、使用 OS:Windows7 >
=COUNTIF(A1:F6,"新潟") では問題あり? ( seiya) 2017/07/29(土) 23:00
そういうことでしたら私もCOUNTIF()+COUNTIF()+COUNTIF()ですね。
CountIf関数の検索条件にワイルドカードを使用した場合は"含む"をカウントしますが、それ以外は完全一致ですよね。 ( seiya) 2017/07/30(日) 11:31
>飛び飛びのセル範囲をに名前を定義したらお望みのような?形の式でいける >かも知れないですね。 >試してないですが。
私も試していないですが、数式解析上、実体は同じなので、 評価も同じ事になってしまい、旨く行かないと私は思います。 複数の範囲をカッコで囲うと旨く行くようなケースだと、別かも知れませんが・・・
以下、OFFSET()は揮発性関数ですが、それでよければ・・・
=SUM(COUNTIF(OFFSET($A$1,{1,3,6}-1,0,1,6),"新潟"))
(半平太) 2017/07/30(日) 14:01
カリーニン様、半平太様、「セル範囲に名前を定義」ですが、範囲の所に"Value!"の表示が
出て、「この関数に対して、多すぎる因数が入力されています。」という警告が発せられま
した。やはり無理のようです。
なお、半平太様の「=SUM(COUNTIF(OFFSET($A$1,{1,3,6}-1,0,1,6),"新潟"))」では、期待
どおりの結果が得られました。この式ではどのような処理をして結果を導き出しているのか
お教えいただけるとありがたいです。
(あらいぐま) 2017/07/30(日) 16:32
>OFFSET($A$1,{1,3,6}-1,0,1,6)
A1セルからみて、1,3,6(より1少ない)行分、下に飛んだセルを参照しています。
行高は1行、列幅は6列に指定します。
以上により、飛び飛びの3行(つまり、A1:F1,A3:F3,A6:F6)が参照できる事になります。
それら参照範囲をCOUNTIFの第1引数にすると"新潟"の数が、3行分、別々に(=配列として)カウントされます。
その数値配列をSumで合算します。
(半平太) 2017/07/30(日) 18:57
外出先から思いつきで書き込みましたが、名前の定義案はやはり駄目でしたね。 失礼しました。 (カリーニン) 2017/07/30(日) 19:24
半平太様、解説ありがとうございました。
配列ですか・・・ 勉強して、今後に生かしていきます。
コメントくださいました皆様、ありがとうございました。
(あらいぐま) 2017/07/30(日) 20:44
それぞれ連続した範囲を「範囲1」「範囲2」「範囲3」と名前を付けて =SUMPRODUCT(COUNTIF(INDIRECT("範囲"&ROW(1:3)),"新潟")) でも。 (ねむねむ) 2017/07/31(月) 11:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.