[[20200721193803]] 『可視セルのみの指定文字列カウント方法』(おきた) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『可視セルのみの指定文字列カウント方法』(おきた)

いつもお世話になっております。

4行目から50行目まで
・A01
・B02
・C03
・D04
上記の四つの文字列と空白がランダムで入っています。

51行目にはA01のカウント数
52行目にはB02のカウント数
53行目にはC03のカウント数
54行目にはD04のカウント数
がcountifの関数を利用して入っております。

プログラムにより、任意で選んだ○行目を表示非表示させたりしております。

現在は非表示セルも含めたカウントになっていますが、可視セルのみのカウント数を関数で表示する事は可能でしょうか?
もし可能であればご教授頂けないでしょうか?

< 使用 Excel:Excel2016、使用 OS:Windows10 >


ネット検索したら、↓のようなのがヒットしました。

Excel – フィルタ後の結果を条件でカウントする方法【Countifではできない】
https://howpon.com/17184

私なら、可視か否かを返すユーザー定義関数を作るかな。
それを作業列に入れて、あとはCountifsですね。
(γ) 2020/07/21(火) 20:56


 >4行目から50行目まで
 >上記の四つの文字列と空白がランダムで入っています。

 どの列に?
 もしかして複数列にわたっているということ?

 以上
(笑) 2020/07/21(火) 23:04

Yさん、笑さんありがとうございます。

URLの方チェックして調べてみます。
列はZ列まで続いてますけど、1列だけやり方分かれば他の列も同様に出来ると思いましたので、列の話を説明しませんでした。
説明不足で申し訳ありません。
(おきた) 2020/07/22(水) 07:28


 >列の話を説明しませんでした。 
 してもらわないとわかりません。

 >1列だけやり方分かれば他の列も同様に出来る
 ということはカウントは全列まとめてではなく「列ごとに」ってこと?

 ・どの列からZ列まで?
 ・4行目から50行目まですべてデータで埋まっている列はありますか?
  それはどの列ですか?

 以上、確認だけ
(笑) 2020/07/22(水) 10:13

笑さんありがとうございます。

G列からZ列までになります!

カウントはG列からZ列までです。
カウントは列ごとになります。
G列の4行目から50行目までの指定文字列のカウントを51〜54行目に表示させたいです。

最初は何もデータが入っていない状態から始まり、カウントを確認しながら手入力でセルを埋めていくので、最終的にすべてのセルが埋まります!

(おきた) 2020/07/22(水) 19:13


誤りがありました。

G列からZ列までデータが入っていて、カウントは列ごとになります。

(おきた) 2020/07/22(水) 19:14


=SUMPRODUCT((G4:G50="A01")*(SUBTOTAL(103,INDIRECT("G"&ROW(G4:G50)))))

で出来ました。
ありがとうございます。

(おきた) 2020/07/22(水) 19:54


 >=SUMPRODUCT((G4:G50="A01")*(SUBTOTAL(103,INDIRECT("G"&ROW(G4:G50))))) 

 これ実際に入力した式?
 少なくとも INDIRECT("G" の「G」の部分を、H列からZ列まで1列ずつ書き換える必要があると思いますけど
 そうしたんですか?

 4行目から50行目まで全部埋まっている列というのは
 G〜Z列以外でということなんですど、そんな列はないんですかね?

 例えば連番でもなんでもいいので、A列には空白はなくすべて埋まっているとすれば

	F	G	H	・・・	Z
51	A01				
52	B02				
53	C03				
54	D04				

 F51:F54に4つの文字列を入力しておく。

 G51 =SUMPRODUCT((G$4:G$50=$F51)*SUBTOTAL(103,INDIRECT("A"&ROW($4:$50))))
                                                       ~~~
  ↑ を下と右にコピーするだけです

 または
 G51 =SUMPRODUCT((G$4:G$50=$F51)*SUBTOTAL(103,INDIRECT(CHAR(64+COLUMN(G1))&ROW($4:$50))))
 とするか(ただし、この式が有効なのはZ列まで)

 ■作業列を使ってもいいのなら・・・
 単純な SUMIF でできます。

 AA列を作業列
 A列は全部埋まっているとして

 AA4 =IF(SUBTOTAL(103,A4),1,"")  AA50まで下コピー

 G51 =SUMIF(G$4:G$50,$F51,$AA$4:$AA$50)
 下と右にコピー

 参考まで
(笑) 2020/07/22(水) 22:17

笑さんありがとうございます。

Z列までの書き換えはしませんでした。

結局笑さんの提案の作業列を使う事にして上手く出来ました。
表示非表示のプログラムの方で、作業列に表示なら1、非表示なら0にを記入して、countifsを利用しました。
アドバイス頂きありがとうございます。
(おきた) 2020/07/23(木) 02:55


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.