Wie ordne ich Werte basierend auf einem Kriterium?

Wie ordne ich Werte basierend auf einem Kriterium?

Ich habe Umfragedaten für 3619 Personen, die in 1000 Häusern leben. Die Spalte MID ist die Mitglieds-ID jeder Person. Beispiel: H1M1 ist das 1. Mitglied des 1. Hauses. H21M3 ist das 3. Mitglied des 21. Hauses. Spalte D enthält die Hausnummern.

Ich möchte zwei Dinge tun.

  1. Basierend auf dem Alter möchte ich die Rangfolge der Mitglieder in jedem Haus ermitteln.
  2. In der nächsten Spalte möchte ich herausfinden, ob das Mitglied das älteste Kind im Haus ist. Als Kind gilt jeder unter 18 Jahren. Binäre Ausgabe von 1 oder 0 erforderlich.

Antwort1

Die unten gezeigte Methode löst das Problem:

Bildbeschreibung hier eingeben

Wie es funktioniert:

  • Um den Rang zu finden, Formel in ZelleD196:

    =SUMPRODUCT((--(LEFT(A196,2)=LEFT($A$196:$A$207,2))),(--(B196<$B$196:$B$207)))+1
    
  • Eine Array-Formel (CSE) in einer ZelleF196fürHilfsdaten:

    {=IFERROR(INDEX(LEFT(A$196:A$207,2),MATCH(0,COUNTIF($F$195:F195,LEFT(A$196:A$207,2)),0)),"")}
    

AchtungBeenden Sie die Formel mitStrg+Umschalt+Eingabe.

  • Formel in ZelleE196:

    =IF(AGGREGATE(14,4,(LEFT($A$196:$A$207,2)=F196)*$B$196:$B$207,1)=0,"",(AGGREGATE(14,4,(LEFT($A$196:$A$207,2)=F196)*$B$196:$B$207,1)))
    
  • Eine Array-Formel (CSE) in einer ZelleG196:

     {=IF(MIN(IF(LEFT(A$196:A$207,2)=F196,B$196:B$207,""))=0,"",MIN(IF(LEFT(A$196:A$207,2)=F196,B$196:B$207,"")))}
    

AchtungBeenden Sie die Formel mitStrg+Umschalt+Eingabe.

  • Formel in ZelleH196:

    =IFERROR(INDEX(A$196:A$207,MATCH(G196,B$196:B$207,0)),"")
    

Achtung

  • Vielleicht finden Sie auchName des ältesten Mitglieds, mithilfe der Formel in Zelle H196.

  • Aus Gründen der Ordnung können Sie sich versteckenHilfsdaten.

  • Passen Sie die Zellbezüge in der Formel nach Bedarf an.

Antwort2

Angenommen, die MIDSpalte ist nach den ersten beiden Buchstaben des Eintrags sortiert, wie Sie zeigen:

AgeRank:    =RANK(G2,INDEX(Age,MATCH(LEFT(F2,2) & "*",MID_,0)):INDEX(Age,-1+MATCH(LEFT(F2,2)&"*",MID_,0)+COUNTIF(MID_,LEFT(F2,2)&"*")))

EldestKid:  =N(G2=AGGREGATE(14,6,1/(INDEX(Age,MATCH(LEFT(F2,2)&"*",MID_,0)):INDEX(Age,-1+MATCH(LEFT(F2,2)&"*",MID_,0)+COUNTIF(MID_,LEFT(F2,2)&"*"))<18)*INDEX(Age,MATCH(LEFT(F2,2)&"*",MID_,0)):INDEX(Age,-1+MATCH(LEFT(F2,2)&"*",MID_,0)+COUNTIF(MID_,LEFT(F2,2)&"*")),1))

Bildbeschreibung hier eingeben

verwandte Informationen