2017-07-26 1 views
1

Ich versuche den am häufigsten vorkommenden Wert in einem Bereich zu finden, wenn ein vorhergehender Wert auftritt, also zum Beispiel wenn Shared mailbox (Col C) gleich Finance sagen sie mir die häufigste Teamnummer (Col B) des Benutzers, die auf sie zugreifen:Excel: Finde den gebräuchlichsten Wert im Array bei einem bestimmten Wert (IF, Index, Mode)

die Funktion habe ich weit so ist (natürlich die absoluten Zellbezüge ignorieren)

=INDEX($B$2:$B$20,MODE(MATCH($C$2:$C$20,$C$2:$C$20,0))) 

Ich könnte dies mit einem Drehpunkt tun, aber ich muss den Wert in eine Zelle einfügen und Vlookup in einem Pivot wird es nicht schneiden. Außerdem gibt es Zehntausende von Zeilen. Aber im Wesentlichen das Pivot-Ergebnis ist, was ich suche, nur in einer Zelle über eine Formel.

Hier ist ein Beispiel der Tabelle, ein Drehpunkt und ein Blick auf die Formel und die Ergebnisse.

Excel image with pivot

Jedwedes Hilfe ist willkommen. Cheers Matt

Antwort

0

Sie könnten nach dieser Formel suchen:

=MODE.SNGL(IF(C1:C999="Finance",B1:B999)) 

CtrlShift-Geben Sie

p.s. Sie können die fest codierte "Finance" durch eine beliebige Zellreferenz ersetzen.


EDIT

der Tat, wenn es nur eine abgestimmte Reihe oder zwei Reihen mit unterschiedlichen Werten, wird die MODE scheitern, weil es eigentlich kein Single-Mode ist. Sie wollen dann das "erste" Match zurückzukehren, wickeln daher die Formel innerhalb IFERROR mit einer INDEX/MATCH Alternative:

=IFERROR(MODE.SNGL(IF(C1:C999="Finance",B1:B999)),INDEX(B:B,MATCH("Finance",C:C,0))) 

CtrlShift-

+0

Danke ASH, genau wie @ProgSnob unten große und saubere Antwort, das einzige Problem ist Zeiten, wenn es nur ein oder zwei Werte (ähnlich oder anders) gibt es # N/A, irgendwelche Ideen auf die erste Antwort zurückzugeben, oder auch nicht ? – Mchapple

+0

@Mchapple dann wickeln Sie es in 'IFERROR', um eine 'INDEX/MATCH'-Alternative zu verwenden. Siehe EDIT. –

+1

** Perfekt ** und genau das, was ich brauchte. Danke dir und @ProgSnob beides sehr gute Antworten. – Mchapple

1

Sie können eine Array-Formeln verwenden. Verwenden Sie die mode Funktion über einen if

{=MODE(IF($C$3:$C$18=F4,$B$3:$B$18))} 

Siehe Bild zum Beispiel: enter image description here

+0

Große Resonanz eingeben und auch recht sauber, Danke . Nur ein kleines Problem, wenn es weniger als 3 gegen etwas gibt, dann gibt es # N/A zurück. Also für alles, wo es 1 oder 2 Einträge hat, und selbst wenn sie unterschiedlich oder genau sind, ist das Resoinse # N/A. Irgendwelche Ideen, um den ersten Eintrag als Standard zurück zu bekommen? – Mchapple

+0

Ich denke # N/A sagt dir, dass es kein "am häufigsten" häufiges Team gibt. Alle Teams haben den gleichen Beitrag geleistet. – ProgSnob

Verwandte Themen