Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 11 Pro : Microsoft 365)
SUBTOTALで色付きセルの数をカウント
投稿日時: 23/02/21 18:59:08
投稿者: 春麗

A列にデータが入っています.
半角/英数もあれば全角でひらかな/カタカナ/漢字が混在しています.
 
単純に色付きセル(色は関係なく)を数えたく,B1セルに以下を入力しました.
 
=SUBTOTAL(3,A:A)
 
ところが,色付きでないセル全部の数が表示されます.
 
簡単に使える関数ではないのでしょうか.

回答
投稿日時: 23/02/21 19:14:52
投稿者: んなっと

A列で
[フィルター]→▼クリック→[色フィルター]で絞り込んでみてください。

投稿日時: 23/02/22 10:16:29
投稿者: 春麗

んなっとさん
ありがとうございます。
フィルター機能と併用しないと使えない関数なのでしょうか。
フィルター機能使わないで色付きセルをカウントするのはマクロでないとできない。
という結論で合っていますでしょうか。

回答
投稿日時: 23/02/22 11:09:53
投稿者: んなっと

・VBA利用
・名前定義で4.0マクロ関数利用
のどちらかだと思います。
 
※条件付き書式で自動的に塗りつぶされた色であれば、数式だけで処理できる可能性もあります。

回答
投稿日時: 23/02/22 11:38:35
投稿者: メジロ2

んなっとさんのご回答にある「名前定義で4.0マクロ関数利用」です。
対象のセルは「A1:A20」とします。
 
セルB1を選択してから名前を定義します。
 
 名前(N): iro (任意です)
 参照範囲(R):=GET.CELL(63,Sheet1!$A1)+NOW()*0
 
「+NOW()*0」は再計算の為のもので必須ではありません。
B20までコピーし
 
 =COUNTIF(B1:B20,">0")
 
で求まります。

回答
投稿日時: 23/02/22 11:42:35
投稿者: メジロ2

セルB1に入力する式を忘れました
 
 B1: =iro
 
B20までコピーです。

回答
投稿日時: 23/02/22 11:58:30
投稿者: んなっと

Microsoft365の場合は以下の手順です。
 
 数式
→名前の定義
 名前:
GetCol
 参照範囲:
=LAMBDA(r,GET.CELL(38,r))
→OK
→例えばA1:A100の範囲を数えるときは、どこかのセルに
=LET(a,A1:A100,b,BYROW(a,LAMBDA(r,GetCol(r))),COUNT(FILTER(b,b>0)))
 
これだけ。いつまで使える方法かわかりませんが。

回答
投稿日時: 23/02/22 12:08:36
投稿者: んなっと

修正。
=LAMBDA(r,GET.CELL(38+NOW()*0,r))
 
追記
*.xlsm形式で保存してください。
※以下の設定が必要かもしれませんが、このあたりがはっきりしていません。
 ファイル
→一番下のオプション
→トラストセンター
→トラストセンターの設定
→マクロの設定
→VBAマクロが有効な場合にExcel4.0のマクロを有効にする にチェックを入れる

回答
投稿日時: 23/02/22 12:17:03
投稿者: メジロ2

エクセルのバージョンを確認しませんでした。
わたしの書き込みは無視してください。
失礼しました。

トピックに返信