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

A 回答 (5件)

こんにちは。



ユーザー定義関数で作ってみました。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
    • 19
この回答へのお礼

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

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

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

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

こんにちは。



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

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

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

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

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

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

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

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

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

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

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

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

お礼日時: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
    • 4
この回答へのお礼

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

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

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



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

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

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

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

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

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

このQ&Aと関連する良く見られている質問

Qアクリル絵の具のコゲ茶色~黄土色について。

はじめまして。こんばんわ。
最近スーツデコにはまり、時間を見つけては作成しています。
タルトやチョコ、マカロン等の形はすぐに作れたのですが…
問題は色味。
紙粘土は手っ取り早くふわふわ粘土の色つきを使い作成しているので色味は何の問題もなし。
ですが、問題は樹脂粘土の色味ですごく戸惑っています。

色付けにはアクリル絵の具を使用。との事でダイソーで買ってきたアクリル絵の具を使用。
色は茶色[BURNT SIEMMA]と黄土色[YELLOW OCHER]を樹脂粘土に混ぜ込んだのですが、どうも色が上手に出ず。

・茶色[BURNT SIEMMA]を混ぜればオレンジ色。
・黄土色[YELLOW OCHER]を混ぜれば山吹色。
・少量づつ混ぜ込んでも、大量に混ぜ込んでも変な色のまま。
・上記二つを混ぜれば混ぜるほどに赤っぽいオレンジに変色。

どちらの絵具も有名なメーカー製の絵具同様
茶色・黄土色と表記される色なのに…
ダイソー製だからきれいな色が悪いんでしょうか?
[こげ茶色・うす茶色・黄土色]この三つの色味が出る絵の具がありましたら教えてください!

はじめまして。こんばんわ。
最近スーツデコにはまり、時間を見つけては作成しています。
タルトやチョコ、マカロン等の形はすぐに作れたのですが…
問題は色味。
紙粘土は手っ取り早くふわふわ粘土の色つきを使い作成しているので色味は何の問題もなし。
ですが、問題は樹脂粘土の色味ですごく戸惑っています。

色付けにはアクリル絵の具を使用。との事でダイソーで買ってきたアクリル絵の具を使用。
色は茶色[BURNT SIEMMA]と黄土色[YELLOW OCHER]を樹脂粘土に混ぜ込んだのですが、どうも色が上手に出ず...続きを読む

Aベストアンサー

樹脂粘土は絵の具を混ぜ込んで色味を作るのですか。作成の経験はないのですが…すみません。色味の点で何かお役に立てるかと思いまして。

・茶色[BURNT SIEMMA]…SIENNA(バーント シェンナ)、ですね。
 メーカーにより違いはありますが、「あかちゃいろ」という感じの色です。赤みが強いので質問文のような色になるのでしょう。
ダイソーではあるかどうかわかりませんが、より暗く赤みを感じない色として「バーント アンバー(こげ茶色)」があります。薄めても焼いた菓子の色に近いのではないかと思います。
黄土色は、一つの絵具で出すのは難しいと思います。絵の具のYELLOW OCHREは、ちょっと食品とは思えないほど黄色みが強いので…。これももちろんメーカーによって違いがありますので一概には言えませんが。
混色は難しいでしょうか?
黄色みが強い時には補色である紫(赤+青の混色です。)を少しづつ混ぜることで和らげることができますが…。混ぜすぎるとひどい色になります。言葉では説明が難しいです。
単色で近い色としては、参考リンクの「和色」ページにある黄檗色(きはだいろ)・鬱金色(うこんいろ)あたりがイメージに近いのではないかと思うのですが。

参考に、ターナーのアクリルガッシュでは20mlチューブで¥280くらいです。お近くに画材店があったら、直接色味を見ることをお勧めします。

参考URL:http://www.art-maruni.com/gazai/akuriru/enogu/turner/normal1.htm

樹脂粘土は絵の具を混ぜ込んで色味を作るのですか。作成の経験はないのですが…すみません。色味の点で何かお役に立てるかと思いまして。

・茶色[BURNT SIEMMA]…SIENNA(バーント シェンナ)、ですね。
 メーカーにより違いはありますが、「あかちゃいろ」という感じの色です。赤みが強いので質問文のような色になるのでしょう。
ダイソーではあるかどうかわかりませんが、より暗く赤みを感じない色として「バーント アンバー(こげ茶色)」があります。薄めても焼いた菓子の色に近いのではないかと思いま...続きを読む

Qエクセルの関数でセルの個数を数えたい

状況はA1~A10には名前、C1~H10には記号を入力します。
記号は、入力規則のリストを使用して(スペース,◎,○,△,□)が選択出来るようにしてあります。
B1~B10には◎,○,△,□が入力さてたら、合計の個数を表示させたいです。
=COUNTA(C1:H1)
などでやると、リストでスペースを選んだときにはカウントされてしまいます。
=COUNTIF(C1:H1,"◎")などでそれぞれを出して合計を求めようかとも思いましたが、式が長くなってしまうため、簡単な方法を探しています。
教えて下さい

注*上に書いたスペースは実際には空白(半角)が入っています

Aベストアンサー

=COUNTA(C1:H1)-COUNTIF(C1:H1," ")
のように、半角スペースのセルの数を除いたらどうでしょうか?

Qあなたが好きな色、嫌いな色、心安らぐ色は?

人それぞれ好きな色、嫌いな色、心安らぐ色ってあると思うんですけど、あなたの場合はどうですか?私の場合は
好きな色=ピンク、嫌いな色朱色、心安らぐ色=青です。

Aベストアンサー

 嫌いな色はありませんが、使いにくい色はあると思います。
・・・たぶん、自分に使いこなす能力が不足しているせいだと思います。

 グレイ、スカイブルー、ネイヴィーブルー、モッズグリーン、ダークオリーブ、臙脂色、レンガ色、オゥード色、カーキ色、ベージュ、ライトブラウン、ダークブラウン、などの無地のスーツを愛用してます。

 グレイはグレンチェックなどの模様は好きですが、縦縞は堅い印象で嫌いです。

 黒は、パンツ、セーター類では使いますが、スーツは葬式用に持っているだけです。

 苦手なのはベージュやライトグリーンなどに、白色を混ぜて「濁った中間色」にしたものです。

・・・これは、2~3年前、殆んどのサラリーマンの「ネクタイ」に使われていた色なのですが、いかにも自信が無さそうに見えてマイナスな印象を他人に与えると思います。

Q表内の番号が入っている個数を重複しないで数える

  A  B  C  D
1 1日 2日 3日 4日
2 11  5  6  5
3 15  6  8  9
4 20  11  

上記のような表があります
列は日付になります(1日から31日)
行はその日にこの施設を利用した方のID番号が入ります。

このような表で,そのつきの実際の利用人数を求めたいのです。延べ人数はカウントできるのですが,実人数は当然重複データは”1”としてカウントしたいのですが・・・

前にも似たような質問はしたのですが,具体的な表も載せていませんでしたので,改めて質問させていただきます。

Aベストアンサー

他にも方法はあるでしょうが

=SUMPRODUCT((FREQUENCY(A2:AE4,A2:AE4)<>0)*1)

こんなんでどうですか?

QWord 2010で「その他の色」を保存するには

Word 2010で文書を作成中に特定の文字列を「ホーム」にある「フォントの色」の「標準の色」にも「テーマの色」にもない色(例えば、RGBでR0、G0、B255)にした後でその文書を保存して閉じて再度開いた場合で、かつその「「標準の色」にも「テーマの色」にもない色」を使う場合は、その「「標準の色」にも「テーマの色」にもない色」を再度作成しなければなりません。その文書を開くたびにその「「標準の色」にも「テーマの色」にもない色」を再度作成しなければならないので不便です。

その「「標準の色」にも「テーマの色」にもない色」を保存しておいて、次回以降にその文書を開いたときに、その「「標準の色」にも「テーマの色」にもない色」を再度作成することなくすぐ使えるようにするにはどうしたらいいでしょうか。

Aベストアンサー

方法1:
色を付けた文字列をちょこっと選択しておいた状態で,ホームタブのスタイル一覧の▼をプルダウンして「選択範囲を新しいクイックスタイルとして保存」しておきます。たとえば「色1」などの名前で。
以後は,文字の色をわざわざ作り直す(そのたびにちょっとずつ色の配合を間違えたりする事もあるかもしれません)ことをしないで,登録した文字スタイルを適用していきます。

登録したスタイルは,とりあえず作業中の文章に記録されます。
他の文章ファイルにも共用したい場合は,登録したスタイルを右クリックしてスタイルの変更を開始し,「この文章のみ」から「このテンプレートを使用した新規文章」にマークしてNormalテンプレートに登録しておきます。
ワード終了後,全文章対象のテンプレートの変更を問われるので,はいと答えておきます。

さらに別の既存文章ファイルを開いた際は,ホームタブのスタイルの変更▼からスタイルセット▼で「テンプレートのクイックスタイルにリセット」します。


方法2:
色を付けた文字列をちょこっと選択しておいた状態で,フォントの色▼からその他の色..を開始し,そのままOKします。これで「最近使った」事になるので,最近使用した色りストに復元します。
最近使用した色はアプリケーションの記録なので,文章に残すことは出来ません。

方法1:
色を付けた文字列をちょこっと選択しておいた状態で,ホームタブのスタイル一覧の▼をプルダウンして「選択範囲を新しいクイックスタイルとして保存」しておきます。たとえば「色1」などの名前で。
以後は,文字の色をわざわざ作り直す(そのたびにちょっとずつ色の配合を間違えたりする事もあるかもしれません)ことをしないで,登録した文字スタイルを適用していきます。

登録したスタイルは,とりあえず作業中の文章に記録されます。
他の文章ファイルにも共用したい場合は,登録したスタイルを右ク...続きを読む

Qエクセル 1以上 セル数値以下の個数を数える

こんにちはエクセル2010を使っています

1以上 セル以下の数値をカウントするのに以下の式ではなぜ計算できないのでしょうか?

詳しい方、よろしくお願いいたします

=COUNTIFS(AF60:AF84,">1",AF60:AF84,""<"Q23")

Aベストアンサー

まず、以上以下の使い方は理解されてますか?
「1、2、3」とあったら1以上3以下は1,2,3全部です。
<>は「未満」と「~より大きい」を表しますので、「>1、<3」なら該当するのは2のみになります。
また、条件の指定の仕方も少し違います。

以上以下の表現が正しいとすると

=COUNTIFS(AF60:AF84,">=1",AF60:AF84,"<="&Q23)

とされてみては如何でしょうか?

QWORDとEXCELの「フォントと背景色」の(相互利用)

「WORD」で「その他の色」で作った「Font色」「塗りつぶし色(プラス)出来れば透過を掛けた色も」を、「EXCEL」での「Font色」「背景色」に使用したいのですが、普通では「EXCEL」の「Font色」「背景色」では「既定の40色」からしか選択できないようです。
「EXCEL」で「Font色」「背景色」とも「その他の色」で自由に作る(or コピー)ことは可能でしょうか? その手順は?
Office2003を使っています。

Aベストアンサー

#1のmshr1962です。
>これは一体何を『コピー』してくる設計になっているのでしょうね?

別のエクセルブックです。
いくつか異なる設定をしたエクセルブックがあるときに
ブック名を参照することでそれと同じ設定を呼び出せます。
ただしコピー時にそのブックが同時に開いてないと参照できません。

「ブックのカラー パレットを変更する」
http://office.microsoft.com/ja-jp/assistance/HP051989351041.aspx

QエクセルEXCELでセル内にある複数の文字列の個数を数えたい

エクセルのA列に
1,3,4
1,2
1
4
2,3
という数字があるとします。これから結果として
それぞれの数字の個数を数えたいのです。すなわち、
B列に
1 3個
2 2個
3 2個
4 2個
という結果を得たいのですが、どうすればいいのでしょうか?

基本的な質問ですみません。countifを試したのですが、
条件に1と設定すると、(複数の数字が入力されたセルが無視されて)1個という結果になってしまいます。どなたかよろしくお願いします。

Aベストアンサー

すみません、完全に勘違いしておりました。
No.4の変形、少々強引ですが、以下でいかがでしょう?

=COUNTIF($A$1:$A$5,B1)+COUNTIF($A$1:$A$5,B1&",*")+COUNTIF($A$1:$A$5,"*,"&B1)+COUNTIF($A$1:$A$5,"*,"&B1&",*")

Qカーキ色の服

カーキ色の服って持っていないんです。
デニム紺色、黒色、くすんだピンク色、ブラウン系を主に持っています。

肌の色は、ベージュオークルです。
標準より若干白めで、黄色がかった色です。

この肌色には、カーキ色のトップスは合うでしょうか?
カーキ色のトップスに合わせるボトムの色で似合うのは、何色でしょうか?
(くすんだピンク色なんてどうでしょうか?)

よろしくお願いします。

Aベストアンサー

こんにちは~☆
まだ間に合うかなぁ?
黒に変えてしまったでしょうか?

新しい色に挑戦する事って、すごくいいと思いますよ!
着こなしの幅がかなり広がります。
unidapyonさんの肌の色も問題ないと思うし・・・。
私はデニムに合わせても黒にもブラウンにもいいと思います。
黒に合わせるとちょっとヘビーって#2さんも言ってたように、ちょっと重めですよね?
インナーを白とかにすればアリです。
カーキと一口で言っても幅がありますので、ちょっと私の想像してるカーキとは違うかもしれませんが、もしこれからボトムを買い足すとしたら個人的にはベージュをおススメします。
ベージュのシンプルなAラインのスカートorプリーツスカート(アコーディオンとかじゃなくて、綿のちょっとカジュアルな太めのプリーツ)にカーキのブラウスっていいと思いますよ!
スカートなら靴はブーツとかですね。

カーキは秋っぽいとのことですが、夏(晩夏)くらいから使えるし、ここ最近定番色のようになっているので使えると思います。
夏なら白いボトムでもOKですよ!
デニムじゃない綿素材の紺なんかとも相性いいです。
ぜひぜひ頑張ってトライしてください!

こんにちは~☆
まだ間に合うかなぁ?
黒に変えてしまったでしょうか?

新しい色に挑戦する事って、すごくいいと思いますよ!
着こなしの幅がかなり広がります。
unidapyonさんの肌の色も問題ないと思うし・・・。
私はデニムに合わせても黒にもブラウンにもいいと思います。
黒に合わせるとちょっとヘビーって#2さんも言ってたように、ちょっと重めですよね?
インナーを白とかにすればアリです。
カーキと一口で言っても幅がありますので、ちょっと私の想像してるカーキとは違うかもしれませんが、...続きを読む

Qエクセルで同じ数字が連続30個以上続くときのセルの個数を数える

エクセルでA列に1000個の数字が入力されています。数字の5が連続して30個以上続いた場合のセルの個数を数える方法はありますか?

Aベストアンサー

30個以上続いた5の「セルの合計数」ということであればこうでしょうか

Dim i As Integer
Dim i2 As Integer
Dim cnt As Integer

Sub x()

cnt = 0
For i = 1 To 1000

 If Cells(i, 1) = 5 Then
 For i2 = i + 1 To i + 29
  If Cells(i2, 1) <> 5 Then
   Exit For
  End If
 Next i2
 If i2 = i + 30 Then
  cnt = cnt + 30
  For i3 = i + 30 To 1000
   If Cells(i3, 1) = 5 Then
    cnt = cnt + 1
   Else
    i2 = i3
    Exit For
   End If
   Next i3
  End If
  i = i2
 End If
Next i

MsgBox cnt

End Sub


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

人気Q&Aランキング

おすすめ情報