Formule Excel: rompre les liens avec la colonne d'assistance et COUNTIF -

Table des matières

Formule générique

=A1+(COUNTIF(exp_rng,A1)-1)*adjustment

Sommaire

Pour rompre les égalités, vous pouvez utiliser une colonne d'assistance et la fonction COUNTIF pour ajuster les valeurs afin qu'elles ne contiennent pas de doublons, et donc n'entraînent pas d'égalité. Dans l'exemple illustré, la formule en D5 est:

=C5+(COUNTIF($C$5:C5,C5)-1)*0.01

Le contexte

Parfois, lorsque vous utilisez des fonctions telles que SMALL, LARGE ou RANK pour classer les valeurs les plus élevées ou les plus basses, vous vous retrouvez avec des égalités, car les données contiennent des doublons. Une façon de rompre les liens comme celui-ci consiste à ajouter une colonne d'assistance avec des valeurs qui ont été ajustées, puis à classer ces valeurs au lieu des originaux.

Dans cet exemple, la logique utilisée pour ajuster les valeurs est aléatoire - la première valeur dupliquée "gagnera", mais vous pouvez ajuster la formule pour utiliser une logique qui correspond à votre situation et cas d'utilisation particuliers.

Explication

À la base, cette formule utilise la fonction COUNTIF et une plage en expansion pour compter les occurrences de valeurs. La référence d'expansion est utilisée pour que COUNTIFS renvoie un nombre d'occurrences en cours, au lieu d'un nombre total pour chaque valeur:

COUNTIF($C$5:C5,C5)

Ensuite, 1 est soustrait du résultat (ce qui rend le décompte de toutes les valeurs non dupliquées nul) et le résultat est multiplié par 0,01. Cette valeur est l '«ajustement», et intentionnellement petite afin de ne pas impacter matériellement la valeur d'origine.

Dans l'exemple illustré, Metrolux et Diamond ont tous deux la même estimation de 5000 $. Étant donné que Metrolux apparaît en premier dans la liste, le décompte en cours de 5000 est 1 et est annulé en soustrayant 1, donc l'estimation reste inchangée dans la colonne d'aide:

=C8+(COUNTIF($C$5:C8,C8)-1)*0.01 =C8+(1-1)*0.01 =C8+0 =C8

Cependant, pour Diamond, le nombre courant de 5000 est de 2, donc l'estimation est ajustée:

=C11+(COUNTIF($C$5:C11,C11)-1)*0.01 =C11+(2-1)*0.01 =C11+1*0.01 =C11+0.01

Enfin, les valeurs ajustées sont utilisées pour le classement au lieu des valeurs d'origine dans les colonnes G et H.La formule dans G5 est:

=SMALL($D$5:$D$12,F5)

La formule en H5:

=INDEX($B$5:$B$12,MATCH(G5,$D$5:$D$12,0))

Voir cette page pour une explication de ces formules.

Colonne d'assistance temporaire

Si vous ne souhaitez pas utiliser de colonne d'assistance dans la solution finale, vous pouvez utiliser temporairement une colonne d'assistance pour obtenir les valeurs calculées, puis utiliser Collage spécial pour convertir les valeurs «sur place» et supprimer la colonne d'assistance par la suite. Cette vidéo montre la technique.

Articles intéressants...