2016-08-31 1 views
-1

Ich möchte die countif-Anweisung verwenden, um die Anzahl der Mitarbeiter (in meinem Beispiel) zu berechnen, deren Geschlecht Männlich ist und ihr Alter zwischen 15 und 30. Ich bin mir nicht sicher, wie Sie der Countif-Anweisung ein weiteres Argument hinzufügen, um die Einschränkung hinzuzufügen von Geschlecht, da es nur 2 Aussagen braucht. Hier ist mein Funktionscode:Wie kann countif mit mehr als 2 Argumenten in VBA verwendet werden?

Function Calculate(Column_target As Integer, Row_number As Double, Level_of_response As Integer, Column_of_reference As Integer, level_of_reference As Integer) As Double 

    Sheets("A").Select 
    Range(Cells(2, Column_target), Cells(Row_number , Column_target)).Select 

    For i = 3 To Row_number + 1 

     If (Level_of_response = 1) Then 
     Calculate = (Application.WorksheetFunction.CountIf(Selection, "<31") - Application.WorksheetFunction.CountIf(Selection, "<15"))/(Row_number - 1) 

     End If 

Dies ist der Code, den ich als drittes Argument der countIf Anweisung hinzufügen möge.

(Cells(i, Column_of_reference) = level_of_reference) Dies zeigt, dass Geschlecht männlich (oder weiblich) ist, wenn level_of_reference 1 (oder 2) ist.

Antwort

2

Sie müssen auf Countifs zurückgreifen, mit einer beliebigen Anzahl von Bedingungen.

Plus, können Sie die beiden numerischen Bedingungen in einer (abs konsolidieren ((x- (xmin + xmax)/2) < (xmax-xmin)/2).

+0

Es gibt eine erro von „nicht in der Lage zu CountFit Eigenschaft der WorksheetFunction-Klasse erhalten "! – Zapata

+0

@Zapata - Vielleicht [this] (http://StackOverflow.com/a/12009904/2707864) hilft. –

+0

@Zapata - Oder [dies] (http: //www.mrexcel .com/forum/excel-questions/584979-runtime-error-1004-unable-get-count-property-worksheetfunction-class-please-help.html). Probieren Sie 'Application.CountIfs (...' anstelle von 'Application .WorksheetFunction.CountIfs (... '. –

Verwandte Themen