
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ColorCellCount と作っている方がいるようですし、
http://oshiete.goo.ne.jp/qa/2000523.html
できるできないかというよりも、VBAを使うか使わないかの違いでしかありませんね。
私は、VBAが中心としている回答者ですから、私には、Excelの機能の一部のVBAは利用しないままに使いましょうという話に読めました。
google検索で「Excel 色付きセルをカウント」と入れると、いろんなものが出てきます。
https://matome.naver.jp/odai/2146839682141749501
こんなまとめサイトもありますが、それらを否定してしまうのか、はたまた、VBA自体を使うこと自体が問題のかは、私には分かりません。色の付いたセルの処理は、長い間繰り返されてきた話です。
Microsoft 社内部でも、VBAについては、同じ議論が繰り返されているようです。使わないで同じことができればとは思いますが、そのために複雑化させるのは得策ではないですし、他の言語で処理しましょうといのは、本末転倒になってしまいます。(実際は、後者の他の言語で処理しましょうという方向にあるようです)
標準モジュールに、くだんのコード、
Function ColorCellCount
何か不具合が生じるのか、今のExcelにはなじまないようなので、作り変えてみました。
=COUNTA(E3:E19)-ColorCellCount(E3:E19, 2)
ColorCellCount(範囲, 見本のセル, Fontの色なら=なしか、False、塗りつぶし=True)
= ColorCellCount(E3:E19, 2, True)
意味は、E3~E19の範囲の、E4の塗りつぶしの色と同じものを探して数えろ、という意味です。
= ColorCellCount(E3:E19, 2)
意味は、E3~E19の範囲の、E4のフォントの色と同じものを探して数えろ、という意味です。
'//
Function ColorCellCount(範囲 As Range, Optional セルの順番 As Integer, Optional パターン As Boolean = False)
''範囲, セルの色の見本-上から順 ,パターンか文字か(False=文字の色)
Dim myRng As Range
Dim blnPattern As Boolean
Dim myIndex As Long
Dim fntCnt As Long
Dim innCnt As Long
Dim c As Range
Dim dblSum As Double
Dim idxInColor As Long
Dim idxFnColor As Long
Set myRng = 範囲
myIndex = セルの順番
blnPattern = パターン 'False =文字, True=塗りつぶし
idxInColor = myRng(myIndex).Interior.Color
idxFnColor = myRng(myIndex).Font.Color
For Each c In myRng
If Not IsError(c) Then
If blnPattern Then
'パターンの色
If c.Interior.Color = idxInColor Then ' c.Interior.ColorIndex > 0 Or
innCnt = innCnt + 1
dblSum = dblSum + c.Value
End If
Else
'文字の色
If c.Font.Color = idxFnColor Then ' Or Then 'c.Font.ColorIndex > 0 Or
fntCnt = fntCnt + 1
dblSum = dblSum + c.Value
End If
End If
End If
Next
If blnPattern Then
ColorCellCount = innCnt
Else
ColorCellCount = fntCnt
End If
End Function
No.2
- 回答日時:
何をどうした結果 その数式に行きついたのでしょうか。
Excelに「ColorCellCount」という関数はありません。おそらくユーザー
定義関数だろうと思います。
VBAの知識があるなら「ColorCellCount」関数を自分で作れば
使えるようになりますが そもそも「色を数える」という発想そ
のものから見直した方がいいように思います。
E2:E19の範囲を選択した状態で フィルタを設定し「色フィルタ」
で 色のついていないセルだけ抽出してやれば SUBTOTAL関数か
オートカルク機能でデータ個数を集計できると思います。
No.1
- 回答日時:
>ColorCellCount
はユーザー定義関数で、Excelに元から入っている関数ではありません。
基本的に一般機能では色などの書式でカウントすることはできないと思ってください。
(できないことはないけど、お勧めではない)
オートフィルタを設定して、どこかにSUBTOTAL関数を入れ色なしでフィルタリングするとか、色が何かの規則性にしたがってつけているのならその条件を使ってカウントするとかで如何でしょうか?
この回答へのお礼
お礼日時:2017/02/03 13:48
そうだったんですね!!!
アドバイス、ありがとうございます!!
すぐにでも使用したかったので、とても助かりました。
規則性のないものだったので、他の方法を考えてみます!
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 条件付き書式の色付きセルのカウント方法について 2 2022/10/21 14:51
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) EXCEL関数(数式)を教えてください 2 2022/06/08 18:32
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- その他(Microsoft Office) 【スプレッドシート】白色のセルをカウントしたい 2 2023/02/24 07:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
エクセルの書式設定の表示形式...
-
excelの特定のセルの隣のセル指...
-
EXCEL VBA セルに既に入...
-
貼り付けで複数セルに貼り付けたい
-
【エクセル】IF関数 Aまたは...
-
エクセルVBA、ファイル名をセル...
-
枠に収まらない文字を非表示に...
-
Excelでのコメント表示位置
-
対象セル内(複数)が埋まった...
-
数式を残したまま、別のセルに...
-
Excelで住所を2つ(町名迄と番...
-
【Excel】 セルの色での判断は...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
エクセル オートフィルタで絞...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
エクセルvba (ByVal Targ...
-
ハイパーリンクの参照セルのズ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
excelの特定のセルの隣のセル指...
-
(Excel)数字記入セルの数値の後...
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
【エクセル】IF関数 Aまたは...
-
【Excel】 セルの色での判断は...
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
エクセルのセルの枠を超えて文...
-
Excelで数式内の文字色を一部だ...
-
EXCEL VBA セルに既に入...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
エクセル オートフィルタで絞...
-
Excelで、「特定のセル」に入力...
-
ハイパーリンクの参照セルのズ...
-
対象セル内(複数)が埋まった...
おすすめ情報