dポイントプレゼントキャンペーン実施中!

エクセル初心者です。
関数でIFやCOUNTIF、COUNTIFSを使用しています。
そのなかで、下記のような場合の処理方法を教えてください!

1.IFとCOUNTIFSを使用し、Aが5点以上かつBが3点以上なら”◯” そうでなければ”×”
2.COUNTIFで”◯”の個数を数える
この際、いくつかの”◯”のフォントを赤色にした場合、すべての”◯”のうち赤色の”◯”を抜いた個数を求めたいです。

「求めたい数(”◯”の数)=COUNTIFで求めたすべての”◯”の個数ー赤色の”◯”の個数」

他の方の質問や回答を拝見し、VBEを使用し色付きの文字をカウントするところまではできたのですが
色で識別しているため、”◯”と”×”の区別ができません。

VBEを使用し、ユーザー定義関数等で求める方法はないでしょうか?
プログラミングにも挑戦していますが、苦戦してしています。

よろしくお願いします。

質問者からの補足コメント

  • 検索範囲の中に赤と黒の◯と×が混在しているなかで、赤の◯の個数を求めたいということです。

      補足日時:2016/09/22 01:26
  • 使用しているVBEのコードです。
    他の方の記事を参考に入力しました。
    -----
    Function SpecialCell(targetRange As Range, _
    intColor As Integer) As Integer
    '赤は3,緑は4,青は5,黄は6
    Dim myCell As Range

    For Each myCell In targetRange
    If myCell.Font.ColorIndex = intColor _
    Or myCell.Interior.ColorIndex = intColor Then
    SpecialCell = SpecialCell + 1
    End If
    Next
    End Function
    -----

    ワークシート側で
    =SpecialCell(A1:E5,3)+NOW()*0

    「エクセルで文字と色を認識して計算するには」の補足画像2
      補足日時:2016/09/22 10:05

A 回答 (2件)

ユーザー定義関数の一例です。



標準モジュールに下記コードを書いておき
表の方で =CRCount(A1:A10) とすると、
A1~A10の中でフォント赤で値が○のセルの個数が表示されます。

Function CRCount(wr As Range) As Long
Dim r As Range
CRCount = 0
For Each r In wr
If r.Font.ColorIndex = 3 And r.Value = "○" Then
CRCount = CRCount + 1
End If
Next r
End Function
    • good
    • 1
この回答へのお礼

回答ありがとうございます!
回答いただいた内容で解決できました!

連日苦戦していたのに、ここに載せたら数時間で解決。
本当にみなさんのおかげです!
ありがとうございました。

勝手ながらベストアンサーに選ばせてもらいました。

お礼日時:2016/09/22 10:22

すでに色付きの個数はカウントできているのですよね?


その中で、IF文で色付きの判定を行なっていると思われますが、それにANDで○の条件を追加すれば、いけそうな気がします。

さぶろーさんが書いたらコードが分からないので具体的なサンプルはご提示できませんが、もし、わからない場合は、プログラムコードを補足に上げてみて下さい。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
補足を作成している間に他の方が回答してくださり解決できました。
次回ははじめにコードを載せるなど配慮したいと思います。
連日苦戦していたので、早速回答が来て心強かったです!
ありがとうございました。

お礼日時:2016/09/22 10:17

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