プロが教える店舗&オフィスのセキュリティ対策術

範囲内の自動車の文字の数を出したいのですがどのような式にすればよろしいのでしょうか。
範囲は
D10:D49,D62:D101,D114:D153,D166:D205,D218:D257,D270:D309
下のように式を入れたのですがエラーになってしまいます。
R10=COUNTIF(D10:D49,D62:D101,D114:D153,D166:D205,D218:D257,D270:D309,"自動車")
よろしくお願いいたします。

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

  • VBAでお聞きしたいのですが
    D列は入力規則にてありましてデータ範囲はQ10〜Q32に(この範囲に自動車と他あり)
    D列の指定範囲に出てきた文字だけをQ10〜Q32のとなり
    R10〜R32に合計を出す事はできますでしょうか。
    入力規則内の文字がDに出てこない場合はR列は空白では無く0表示。
    よろしくお願いいたします。

      補足日時:2017/03/08 17:35

A 回答 (4件)

No.3です。



>D列の指定範囲に出てきた文字だけをQ10〜Q32のとなり
>R10〜R32に合計を出す事はできますでしょうか。

Q列に「COUNTIF関数でいう「検索条件」が入っていて、その右となりにセル数を表示させればよいのですね?

範囲は質問通りの範囲とします。

Sub Sample2()
Dim i As Long, cnt As Long, c As Range, myRng As Range
Set myRng = Range("D10:D49,D62:D101,D114:D153,D166:D205,D218:D257,D270:D309")
For i = 10 To 32
For Each c In myRng
If c = Cells(i, "Q") Then
cnt = cnt + 1
End If
Next c
Cells(i, "R") = cnt
cnt = 0
Next i
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

VBAは凄いですね。感動です。
ありがとうございました。

お礼日時:2017/03/09 08:28

こんにちは!



COUNTIF関数の範囲は飛び飛びで範囲指定できないと思います。
規則性が判れば色々関数を駆使すればもっと簡単にできるかもしれませんが・・・

とりあえず関数で簡単にやろうと思えば
=SUM(COUNTIF(D10:D49,"自動車"),COUNTIF(D62:D101,"自動車"),COUNTIF(D114:D153,"自動車"),COUNTIF(D166:D205,"自動車"),COUNTIF(D218:D257,"自動車"),COUNTIF(D270:D309,"自動車"))

といった感じでしょうかね。

VBAであれば

Sub Sample1()
Dim c As Range, cnt As Long
For Each c In Range("D10:D49,D62:D101,D114:D153,D166:D205,D218:D257,D270:D309")
If c = "自動車" Then
cnt = cnt + 1
End If
Next c
Range("R10") = cnt
End Sub

でご希望の結果が表示されると思います。m(_ _)m
    • good
    • 0

No.1追伸。



範囲指定のコンマを&に変えて見たなら行けそうな気もしますが。 ← 検証していませんが。
    • good
    • 0

範囲の指定の仕方が間違っているんじゃないかな。


コンマだらけに為っている事でエラーと為るのではないかと思います。
COUNTIFのヘルプを見た方が良いと思いますよ。
    • good
    • 0

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