-1

値がtraining. これを行うには、次のコードを使用しています。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$A$1" Then

    Dim r As Range
    Dim c
    Set r = Sheets("Sheet2").Range("C:C")
    c = Application.WorksheetFunction.CountIf(r, "training")
    MsgBox "column C has " & c & " instances of 'training'"

    End If
End Sub

ただし、値「トレーニング」が列 C に存在するかどうか、および値が別の列 B に存在するかどうかを確認できる CountIfs ステートメントを作成し、10両方が同じ行内で一致する場合は、両方の行をすべてカウントします。値が存在する場合、それ以外の場合はカウントされません。

誰かがこれを解決するのを手伝ってくれませんか?

4

2 に答える 2

0

Count if two criteria match - EXCEL formulaと同様に、COUNTIFS関数が必要です

=COUNTIFS(B2:B7, 10, C2:C7, "training")

編集

Excel のバージョンに関する更新を見ていませんでした。COUNTIFS2007 年に適用 +

SUMPRODUCT2004年以前に動作しますか?

=SUMPRODUCT((B2:B7=10)*(C2:C7="training"))

そして、VBA私はこれをテストしたところ、うまくいきました:

    myTest = Evaluate("=SUMPRODUCT((B2:B7=10)*(C2:C7=""training""))")
于 2014-10-28T21:13:56.100 に答える
0

私はそれを解決することができました。以下の例を参照してください

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then

Dim r As Range
Dim p As Range
Dim t As Range
Dim u As Range
Dim c
Set r = Sheets("Sheet2").Range("C:C")
Set p = Sheets("Sheet2").Range("B:B")
Set t = Sheets("Sheet1").Range("B1")
Set u = Sheets("Sheet1").Range("C1")
c = WorksheetFunction.CountIfs(r, t, p, u)
MsgBox "column C has " & c & " instances of 'training'"

End If
End Sub
于 2014-10-28T21:29:02.503 に答える