エクセルの表内で塗りつぶしされているセルだけを数える様な関数はありますか?
セルには文字や数値は入力されておらず、塗りつぶしているだけです。
よろしくお願いいたします。

A 回答 (5件)

こんにちは。



>表の複数列を選択した場合の式は
>=ColorCellCount(A1:B5, 1 )
>            ↑
>ここに何を入れればよいのでしょうか?

A列   B列
色なし 色なし ←1
色なし 色なし
色付き 色付き ←2
色付き 色なし
色なし  色付き ←2 (もし色が違えば、3になります)

=ColorCellCount(A1:B5, 1 )
           ↑
これは、色を取得していった順番です。

色番号とか指定する方法は、結構面倒だったわけですからね。これは、今まで、他に考えた人がないので、ユニークだと思っています。(^^Y
    • good
    • 11
この回答へのお礼

Wendy02さん、すごい!
ありがとうございました。できました!
Wendy02さんの様にPCが使いこなせたら怖いものなしですね。とても楽しそう♪

また、考えても、調べても分からない事があったら質問させていただくかもしれません。その時はどうぞよろしくお願いいたします。

この度はご丁寧に教えていただきありがとうございました。

お礼日時:2006/03/03 22:42

こんにちは。



ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもしれませんね。

なお、以下は、引数のインデックスに0を入れると、配列出力するようにしてあります。

'------------------------------------
Function ColorCellCount(範囲 As Range, Optional インデックス As Integer = 1, Optional パターン As Integer = 0)
  Dim myRng As Range
  Dim myIndex As Integer
  Dim myPattern As Integer
  Dim myColor() As Integer
  Dim Ret() As Double
  Dim c As Range
  Dim i As Long
  Dim j As Long
  Set myRng = 範囲
  myIndex = インデックス
  myPattern = パターン
For Each c In myRng
   On Error Resume Next
   If myPattern = 0 Then
     i = WorksheetFunction.Match(c.Interior.ColorIndex, myColor, 0)
   Else
     i = WorksheetFunction.Match(c.Font.ColorIndex, myColor, 0)
   End If
   If i = 0 Then
     ReDim Preserve myColor(j)
     ReDim Preserve Ret(j)
      If myPattern = 0 Then
       myColor(j) = c.Interior.ColorIndex
      Else
       myColor(j) = c.Font.ColorIndex
      End If
      Ret(j) = 1
     j = j + 1
     On Error GoTo 0
     Else
      Ret(i - 1) = Ret(i - 1) + 1
   End If
  Next
  If myIndex <= 0 Then
   ColorCellCount = Ret()
  ElseIf myIndex > UBound(Ret) + 1 Then
   ColorCellCount = Ret(UBound(Ret()))
   Else
   ColorCellCount = Ret(myIndex - 1)
  End If
  Set myRng = Nothing
End Function

ワークシート上での使い方は、

A列
色付き
色なし
色なし
色付き
色付き

=ColorCellCount(A1:A5, 1 )

とすれば、上から数えて、1番目の色のセルの数が出ます。

=ColorCellCount(A1:A5, 2 )
を入れれば、色なしのセルの数が出ます。

=SUMPRODUCT(ColorCellCount(A1:A5, 0 ))

とすれば、全部の合計が出ます。

なお、
=ColorCellCount(A1:A5,1,1)

とすれば、文字の色を数えます。
    • good
    • 9
この回答へのお礼

ありがとうございます。
早速やってみました。これは便利ですね。
基本的な質問で申し訳ございませんが、
教えてください。

表の複数列を選択した場合の式は
=ColorCellCount(A1:B5, 1 )
            ↑
ここに何を入れればよいのでしょうか?
例えばA3の色をカウントしたい時は・・・

A列   B列
色なし 色なし
色なし 色なし
色付き 色付き
色付き 色なし
色なし  色付き

お礼日時:2006/03/02 23:31

色情報を取得する関数は見当たりませんねぇ(--)。

ユーザ定義関数を作れば出来るそうっすよ。

ttp://hp.vector.co.jp/authors/VA016119/hajimete/udf1.html
    • good
    • 2
この回答へのお礼

便利なページを教えた頂きありがとうございました。
しっかり勉強してみます!
この度はありがとうございました。

お礼日時:2006/03/03 00:06

色のついたセルの個数を数える関数はないと思います。



しかし、以下の方法で、数えることができます。
なお、セル範囲をA1:A100と仮定します。

B1をアクティブセルとして、B1:B10を選択します。
[挿入]-[名前]-[定義]で、[名前]に「color」、
[参照範囲]に「=GET.CELL(63,A1)」と入力して、[OK]。

B1をアクティブセルとして、B1:B10を選択した状態で、
「=color」を入力して、[Ctrl]+[Enter]。
(B1:B10に「=color」が一括入力され、数値が表示されるハズです。)

適当なセルに「=COUNTIF(B1:B10,"<>0")」と入力して、[Enter]。
色のついたセルの個数が表示されます。
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。
教えて頂いたとおりにやってみたつもりなのですが、エラーがでてしまいどうも上手くいきません・・・。
せっかく教えていただいたのに、私の勉強不足で申し訳ありません。
この度はありがとうございました。

お礼日時:2006/03/02 23:56

回答にはならないかもしれませんが



1.メニューバーの編集の置換を選択
2.オプションが表示されていなければオプションボタンをクリック
3.検索文字列の書式→『セルから書式を選択』で塗りつぶしのあるセルを選択
4.置換文字列に1(半角)を入力し、すべて置換をクリック
5.COUNT関数を使って集計
    • good
    • 1
この回答へのお礼

早速のご回答をありがとうございます。
セル内に文字や数字を入れずに数えられたら一番良いのですが・・・。
ですが、とても役に立つやり方を教えていただき感謝いたします。ありがとうございました。

お礼日時:2006/03/02 23:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!

  • 縦書きと横書きはどちらが読みやすい?

    普段何気なく読んでいる文章ですが、縦書きか横書きか、意識したことはありますか?制作側としては読み手はどちらの方が読みやすいと思うかはとても大きな問題です。教えて!gooには、 「『横書き』と『縦書き』、...

  • 昭和の日ってどういう日?

    ゴールデンウィーク初日の4月29日は「昭和の日」です。今や平成生まれの人も多い時代ですが、「なぜ昭和の日があるの?」という疑問をもったことはありませんか?和暦を挙げるのなら、大正の日、明治の日、平成の日...

  • Excelの意外な使い方とは?

    会社のパソコンに必ず入っている、と言っても過言ではない、Office系ソフトの「Word」と「Excel」。PCを使う職場にいた方なら、一度は触ったことがあるかと思います。Wordは仕事以外に使う方法がすぐ浮かびそうです...

  • 私と趣味と結婚と:第27話「自分のタイミング」

    マヤは日々充実したオタクライフを満喫している。年頃の娘に早く結婚して欲しい母親の気持ちを知りつつも、結婚願望はまだ薄い。結婚を巡る面倒臭いやり取りは、いつまで続くのか…。

  • 教えて! しりもと博士:第80話「衛星放送」

    なんでも知っているしりもと博士が、ボーイとガールにいろいろな事を教えてくれます。 二人がこの世の全てを学ぶまで博士は教える事をやめません。

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード

コンピュータやスピーカーなどのオーディオ、スマートフォンをはじめとした携帯電話とそのサービスに関する質問が充実。急なトラブルの対策案もここで得られるかもしれません。

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ