OVH Cloud OVH Cloud

produit matriciel

2 réponses
Avatar
Louis
Bonsoir,
Je voudrais effectuer un produit matriciel. Une matrice colonne multipliée
par une matrice ligne.
Mon problème est que je peux avoir dans certaines cellule du texte.
Comment puis-je transformer ma matrice de départ qui contient donc quelques
cellules avec du texte en une matrice dont ces cellules seraient zéro ?

Merci de votre aide,

Louis

2 réponses

Avatar
Yoyo
Bonsoir,

Si j'ai bien compris l'énoncé, voici un exemple :
de B2 à F2, les cellules contiennent : 2 / 4 / toto / 8 / titi
de A7 à A11, les cellules contiennent : 11 / 33 / 66 / 88 / 77

Selectionner la plage D8:D12 et saisir la formule :
=TRANSPOSE(SI(ESTTEXTE(B2:F2);0;B2:F2))*SI(ESTTEXTE(A7:A11);0;A7:A11)
Puis valider matriciellement par CRTL+SHIFT+ENTRER
La plage D8:D12 donne le résultat : 22 / 132 / 0 / 704 / 0

La fonction TRANSPOSE convertit le "format" de la matrice ligne dans le meme
format que la matrice colonne pour permettre la multiplication.
Le SI(ESTTEXTE .... remplace le texte par zéro.

Si on est sûr qu'une des 2 matrices ne contiendra pas de texte on peut
supprimer un des 2 SI(ESTTEXTE ....
Avatar
Louis
Merci,
C'est bien ce que je cherche à faire.
Louis

"Yoyo" a écrit dans le message de news:

Bonsoir,

Si j'ai bien compris l'énoncé, voici un exemple :
de B2 à F2, les cellules contiennent : 2 / 4 / toto / 8 / titi
de A7 à A11, les cellules contiennent : 11 / 33 / 66 / 88 / 77

Selectionner la plage D8:D12 et saisir la formule :
=TRANSPOSE(SI(ESTTEXTE(B2:F2);0;B2:F2))*SI(ESTTEXTE(A7:A11);0;A7:A11)
Puis valider matriciellement par CRTL+SHIFT+ENTRER
La plage D8:D12 donne le résultat : 22 / 132 / 0 / 704 / 0

La fonction TRANSPOSE convertit le "format" de la matrice ligne dans le
meme
format que la matrice colonne pour permettre la multiplication.
Le SI(ESTTEXTE .... remplace le texte par zéro.

Si on est sûr qu'une des 2 matrices ne contiendra pas de texte on peut
supprimer un des 2 SI(ESTTEXTE ....