A列にデータが入っています. 半角/英数もあれば全角でひらかな/カタカナ/漢字が混在しています. 単純に色付きセル(色は関係なく)を数えたく,B1セルに以下を入力しました. =SUBTOTAL(3,A:A) ところが,色付きでないセル全部の数が表示されます. 簡単に使える関数ではないのでしょうか.
A列で [フィルター]→▼クリック→[色フィルター]で絞り込んでみてください。
んなっとさん ありがとうございます。 フィルター機能と併用しないと使えない関数なのでしょうか。 フィルター機能使わないで色付きセルをカウントするのはマクロでないとできない。 という結論で合っていますでしょうか。
・VBA利用 ・名前定義で4.0マクロ関数利用 のどちらかだと思います。 ※条件付き書式で自動的に塗りつぶされた色であれば、数式だけで処理できる可能性もあります。
んなっとさんのご回答にある「名前定義で4.0マクロ関数利用」です。 対象のセルは「A1:A20」とします。 セルB1を選択してから名前を定義します。 名前(N): iro (任意です) 参照範囲(R):=GET.CELL(63,Sheet1!$A1)+NOW()*0 「+NOW()*0」は再計算の為のもので必須ではありません。 B20までコピーし =COUNTIF(B1:B20,">0") で求まります。
セルB1に入力する式を忘れました B1: =iro B20までコピーです。
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))) これだけ。いつまで使える方法かわかりませんが。
修正。 =LAMBDA(r,GET.CELL(38+NOW()*0,r)) 追記 *.xlsm形式で保存してください。 ※以下の設定が必要かもしれませんが、このあたりがはっきりしていません。 ファイル →一番下のオプション →トラストセンター →トラストセンターの設定 →マクロの設定 →VBAマクロが有効な場合にExcel4.0のマクロを有効にする にチェックを入れる
エクセルのバージョンを確認しませんでした。 わたしの書き込みは無視してください。 失礼しました。
利用者の皆様にお知らせです。
マイクロソフト オフィス スペシャリスト(MOS)
ビジネス統計スペシャリスト
IC3(アイシースリー)
VBAエキスパート
アドビ認定プロフェッショナル
Microsoft認定資格
App Development with Swift