Monsieur Excel
Pour tout savoir faire sur Excel !

27 janvier 2014

Un élément dans une matrice

Avec la formule =equiv(valeur;vecteur;0), il est aisé de trouver dans un vecteur horizontal ou vertical la position d’une valeur cherchée.

Mais cela ne marche pas si l’on cherche à identifier la position d’une valeur cherchée dans une matrice !

Avec l’exemple ci-dessous, dans les deux cellules à fond jaune, nous obtenons la position de la valeur cherchée. 

En B8, cette position est représentée par un nombre où les centaines identifient la bonne ligne et les unités la bonne colonne, à l’intérieur de la matrice concernée, bien sûr.

En B9, on indique de façon plus explicite le numéro de ligne et le numéro de colonne concernés.


Formule de B8 : =sierreur(100+equiv(B6;B2:D2;0);0)+sierreur(200+equiv(B6; B3:D3;0);0)+sierreur(300+equiv(B6;B4:D4;0);0)

Formule de B9 : =sierreur("Lig 1 - Col "&equiv(B6;B2:D2;0);"")&sierreur("Lig 2 - Col "&equiv(B6;B3:D3;0);"")&sierreur("Lig 3 - Col "&equiv(B6;B4:D4;0);"")


2 Commentaire(s):

  • Bonjour,

    j’espère que cette formule n'est pas la définitive et que dans 3 jours, vous nous donnerez la solution pour N lignes et N colonnes. :)

    Personnellement je vient de faire quelque test et on peut trouver numéro de lig et de colonne avec la fonction Recherche(valeur,Matrice).
    Mais ca ne marche pas dans tous les cas :(
    ==> j'ai pas encore bien compris comment cette formule fonctionnait... :((

    en attendant de vous lire...

    By Blogger Benji, sur 12:16 PM  

  • Contre proposition pour B9:

    ="Lig "&SOMMEPROD((B2:D4=B6)*LIGNE($A$1:$A$3))&" Col "&SOMMEPROD((B2:D4=B6)*COLONNE($A$1:$C$1))

    Avantage: permet d'avoir une matrice de la taille qu'on veut;
    Inconvénient: il faudrait y ajouter un nb.si pour vérifier s'il n'y a pas plusieurs occurrences du mot cherché.

    By Blogger Philippe, sur 8:35 PM  

Enregistrer un commentaire

<< Accueil