Excel- Comment puis-je trouver des valeurs de texte communes à partir de plusieurs colonnes (> 2)?

J'ai 9 colonnes de données textuelles et j'ai besoin de connaître les termes communs qui se trouvent dans les neuf colonnes (ou peut-être différentes combinaisons de colonnes). Je peux faire 2 colonnes =IF(ISERROR(MATCH(A1,$C$1:$C$133,0)),"",A1) et je peux trouver les valeurs de texte qui sont des doublons sur toute la feuille de calcul mais ne peuvent pas figurer Comment regarder les valeurs de texte communes dans plusieurs colonnes différentes.

Existe-t-il un moyen de modifier la =IF(ISERROR(MATCH(A1,$C$1:$C$133,0)),"",A1) , donc je peux comparer 3, 4, … 9 colonnes plutôt que juste deux? J'utilise Microsoft 2013 si cela vous aide.

J'ai une solution qui fonctionnerait mais c'est un peu moche. Je vais supposer que vous regardez une cellule A1 et si elle apparaît dans toutes les 3 colonnes (D, E, F).

 =MIN(MAX(($D$1:$D$3=$A1)*1),MAX(($E$1:$E$3=$A1)*1),MAX(($F$1:$F$3=$A1)*1)) 

Il s'agit d'une formule de tableau, donc il faut l'entrer avec ctrl + shift + enter

Maintenant, comment cela fonctionne à partir de l'intérieur

($ D $ 1: $ D $ 3 = $ A1) * 1 Comparez D1 à D3 à A1 qui renverrait vrai ou faux le * 1 le convertit à 1s et 0s

Max Si la première formule trouve une correspondance dans la colonne D, elle renvoie un 1 que le Max renverra. Il n'y a pas de correspondance, la valeur max (seulement) est nulle.

Min Si toutes les colonnes contiennent une correspondance, toutes les formules maximales contiendront un 1, donc le minimum sera 1. Si aucune colonne ne correspond à toutes les colonnes, la valeur minimale sera nulle.

Si vous souhaitez compter le nombre de colonnes qui correspondent, utilisez la somme au lieu de min. Et répondez ctrl + shift + enter .

Note: Ce sera une formule maximale pour chaque colonne que vous souhaitez rechercher.

Entrez la description de l'image ici

Cette configuration fonctionnera pour n'importe quel nombre de colonnes.

Commencez par accéder au Gestionnaire de noms (onglet Formules ) et définissez ce qui suit:

 Name: Range1 Refers to: =$A$1:$I$8 

(Ou ce qui se passe est la gamme en question.)

 Name: Arry1 Refers to: =COLUMN(Range1)-MIN(COLUMN(Range1)) Name: Arry2 Refers to: =ROW(INDEX(Range1,,1))-MIN(ROW(INDEX(Range1,,1)))+1 Name: Arry3 Refers to: =MMULT(0+(COUNTIF(OFFSET(INDEX(Range1,,1),,Arry1,,),INDEX(Range1,,1))>0),ROW(INDIRECT("1:"&COLUMNS(Range1)))^0) 

Exit Name Manager.

La formule de tableau requise est alors:

 =IFERROR(INDEX(INDEX(Range1,,1),SMALL(IF(FREQUENCY(IF(INDEX(Range1,,1)<>"",IF(Arry3=COLUMNS(Range1),MATCH(INDEX(Range1,,1),INDEX(Range1,,1),0))),Arry2),Arry2),ROWS($1:1))),"") 

Copiez vers le bas jusqu'à ce que vous commencez à obtenir des blancs pour les résultats.

Cordialement

Les formules de tableau ne sont pas entrées de la même manière que les formules «standard». Au lieu de presser simplement Entrée , vous appuyez tout d'abord sur Ctrl et Shift , puis appuyez sur Entrée . Si vous l'avez bien fait, vous remarquerez que Excel met les crochets frisés {} autour de la formule (mais n'essayez pas de les insérer manuellement).