• 締切済み

Excelについてです

関数についてです。 例えば、A1からE3まで任意の数字をいれます。その中から検索条件に合った数字の個数を求めたいのですが、その条件に例えば数字を赤字にしたものだけの個数を求めるやり方を教えてほしいのです。 数字の書式設定は標準または数値です。その検索条件には、例えば“2”なら 2の黒字が何個、赤字が何個というような感じに検索したいんです。

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

#212717とはちょっと違う質問のようですね。 >関数についてです とあるので、ユーザー定義関数を作ってみました。   =colorCellCount(A1:E3,2,3) のように使います。 引数は、『検索範囲、検索する値、検索する色』の順です。 上ではA1:E3の赤色(赤はコード=3)の値2の個数を数えます。 黒は『1』を指定します。初期値で黒になっているセルも黒としてカウントします。   =colorCellCount(A1:E3,2,1) 2の黒のカウント   =colorCellCount(A1:E3,2,3) 2の赤のカウント になります。 値を返れば再計算をしますが、色を変えただけの場合は再計算して下さい。 当然、他の色も使えます。色を変える操作をマクロ記録してみれば、色と数値の対応も分かるでしょう。 ご参考に。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、 挿入→標準モジュールで標準モジュールを挿入し、そこに下のマクロを貼り付けます。 ↓ここから Public Function colorCellCount(schRg As Range, schV As Double, colIdx As Variant)   Dim cot As Double '検索に合致した個数   Dim rg As Range 'セル   Application.Volatile '自動再計算関数にする   For Each rg In schRg     '値の一致を調べる     If rg.Value = schV Then       '色の一致を調べる(フォントの色)       If rg.Font.ColorIndex = colIdx Then         cot = cot + 1       End If       '黒(colIdx=1)を指定している場合は『自動指定』の個数も加える       If colIdx = 1 Then         If rg.Font.ColorIndex = xlColorIndexAutomatic Then           cot = cot + 1         End If       End If     End If   Next   colorCellCount = cot End Function

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.2

色付セルの集計(エクセル) http://oshiete1.goo.ne.jp/kotaeru.php3?q=212717 エクセルの技 http://www2.odn.ne.jp/excel/waza/ 参考になりそうな所を見繕いました 参考になれば幸いです

  • hiromuy
  • ベストアンサー率27% (103/370)
回答No.1

エクセル関数で色の取得は、VBAでないと出来ません。 VBAの表現方法は、参考URLを参照して下さい。

関連するQ&A