SommeProd qui renvoie une chaine de caracteres

mwaknine

XLDnaute Nouveau
Bonjour

j'utilise de plus en plus la fonction SOMMEPROD pour faire des recherches multicriteres dans un tableau . Tout marche nickel quand la colonne que je renvoie est numerique .

Y a t-il un moyen de faire l'equivalent sur une colonne renvoyée de type chaine de caractere

A B C
1 aa a 1
2 bb b 2
3 cc c 3

J'aimerais que la commande suivante me renvoie "bb"

sommeprod((B1:B3="b")*(C1:C3=2);A1:A3)

or elle me renvoie 0

Quelqu'un a t il une idee

A Bientot

Marc
 

Tibo

XLDnaute Barbatruc
Re : SommeProd qui renvoie une chaine de caracteres

Bonjour,

A savoir que la fonciton SOMMEPROD ne peut retourner qu'un nombre.

Tu peux essayer avec cette formule :

Code:
=INDEX(A1:A3;SOMMEPROD((B1:B3="b")*(C1:C3=2)*LIGNE(C1:C3)))


@+
 

mwaknine

XLDnaute Nouveau
Re : SommeProd qui renvoie une chaine de caracteres

Merci de ta reponse .

Mais le probleme est la fonction LIGNE renvoie le numero absolu de la ligne qui verifie les 2 criteres , alors que la fonction index s'attend a avoir un numero de ligne relatif .

Donc avec cette formule ca ne marchera que si la matrice commence en A1

Mais c'est une bonne piste ... je vais essayer de la creuser

Merci

Marc
 

Tibo

XLDnaute Barbatruc
Re : SommeProd qui renvoie une chaine de caracteres

re,

d'accord avec toi, il suffit d'ajuster en fonction de la 1ère ligne de ton tableau.

Ca peut donner ceci, si ton tableau commence en ligne 5 :

Code:
=INDEX(A1:A3;SOMMEPROD((B1:B3="b")*(C1:C3=2)*LIGNE(C1:C3))[COLOR=red]-4[/COLOR])

Je te laisse essayer

@+
 

mwaknine

XLDnaute Nouveau
Re : SommeProd qui renvoie une chaine de caracteres

Merci

effectivement ca marche bien

mais si je peux me permettre encore une precision

en fait j'utilise des "noms" pour specifier les plages utilisées donc il faut que je trouve un moyen de recuperer le numero de la premiere ligne de ma plage

A+
 

Tibo

XLDnaute Barbatruc
Re : SommeProd qui renvoie une chaine de caracteres

re,

Il faudrait que tu nous joignes un fichier pour qu'on voit exactement comment sont nommées tes plages.

Sinon, pour détecter la 1ère ligne utilisée, une formule matricielle :

Code:
=EQUIV(FAUX;(A1:A50="");0)

à valider par CTRL + MAJ + ENTREE

Sans validation matricielle, ça peut donner ceci :

Code:
SOMMEPROD(EQUIV(FAUX;(A1:A50="");0)*1)

Y a peut-être plus simple. A voir peut-être en faisant une recherche sur le Forum

@+
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : SommeProd qui renvoie une chaine de caracteres

Bonjour,

=INDEX(colA;SOMMEPROD((colB="c")*(ColC=3)*LIGNE(ColC))-LIGNE(ColC)+1)

JB
 

Pièces jointes

  • Classeur1.xls
    13.5 KB · Affichages: 145
  • Classeur1.xls
    13.5 KB · Affichages: 149
  • Classeur1.xls
    13.5 KB · Affichages: 155

Discussions similaires

Réponses
4
Affichages
293

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed