2017-07-26 4 views
1

J'essaie de trouver la valeur la plus commune dans une plage étant donné une valeur précédente, par exemple, si la boîte aux lettres partagée (Col C) est égale à Finance me dire le plus commun numéro d'équipe (Col B) des utilisateurs qui y accèdent:Excel: Trouver la valeur la plus commune dans le tableau donné une certaine valeur (IF, Index, Mode)

la fonction que je suis à ce jour est (ignorer évidemment les références de cellules absolues)

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

Je pourrais le faire avec un pivot, mais j'ai besoin d'insérer la valeur dans une cellule et vlookup dans un pivot ne le coupe pas. Il y a aussi des dizaines de milliers de lignes. Mais essentiellement le résultat du pivot est ce que je cherche à obtenir, juste dans une cellule via une formule.

Voici un exemple de la table, un pivot et un aperçu de la formule et des résultats.

Excel image with pivot

Toute aide est la bienvenue. A bientôt Matt

Répondre

0

Vous cherchez peut-être cette formule:

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

CtrlMajEntrez

p.s. vous pouvez remplacer le "Finance" codé en dur par n'importe quelle référence de cellule.


EDIT

En effet, s'il n'y a qu'une seule ligne assortie ou deux lignes avec des valeurs différentes, le MODE échouera parce qu'il n'y a en fait pas de mode unique. Vous souhaitez ensuite revenir le « premier » match donc envelopper la formule dans IFERROR avec un INDEX/MATCH alternatif:

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

CtrlMajEntrez

+0

Merci ASH, tout comme @ProgSnob ci-dessous grande et propre réponse, le seul problème étant les fois où il n'y a qu'une ou deux valeurs (similaires ou différentes), il renvoie # N/A, des idées sur le retour de la première réponse, ou bien ? – Mchapple

+0

@Mchapple puis enveloppez-le dans 'IFERROR' pour utiliser une alternative' INDEX/MATCH'. Voir l'EDIT. –

+1

** Parfait ** et juste ce dont j'avais besoin. Merci à vous et à @ProgSnob deux très bonnes réponses. – Mchapple

1

Vous pouvez utiliser une formule matricielle. Utilisez la fonction mode sur une if

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

Reportez-vous à l'image par exemple: enter image description here

+0

réponse Grande et jolie trop propre, Merci . Juste un petit problème, s'il y a un compte moins de 3 contre quelque chose, alors il retourne # N/A. Donc pour tout ce qui a 1 ou 2 entrées, et même si elles sont différentes ou exactes le respoinse est # N/A. Des idées pour récupérer la première entrée par défaut? – Mchapple

+0

Je pense que # N/A vous dit qu'il n'y a pas d'équipe «la plus fréquente». Toutes les équipes ont eu une contribution égale. – ProgSnob