OVH Cloud OVH Cloud

matrice et chaine de caractères

4 réponses
Avatar
Orsu
Bonjour à tous

Je cherche une formule permettant de compter les lignes (occurences)d'un
tableau de deux colonnes répondant à deux conditions cumulatives :
- le premier critère est la présence dans la première plage d'une chaîne de
caractères "AB"
- le second critère est que la chaîne de caractères "XY" soit présente dans
la seconde plage

test 1 test 2
gdgABgg fffXT
Abjhgh dhdhXYjki
lmpACnt Xyvdre
lmpoiTR Abmpos
ZSEYAB cdRXYdez

nb de lignes ou la plage test1 contient AB = 3
nb de lignes ou la plage test2 contient XY = 3
nb de lignes ou la plage test1 contient AB et test2 contient XY = 2

La difficulté spécifique est que les éléments constituant les critères de
recherche dans la formule matricielle sont inclus dans une autre chaîne de
caractère ("sABfrml" ou "dfrXYre" et que leur place est aléatoire.

Après diverses recherches dans plusieurs forums (Excel-Microsoft,
Excel-Downloads, Excelabo,…), j'ai testé plusieurs formules mais aucune ne
fonctionne de manière satisfaisante (sauf lorsqu'il existe une stricte
concordance entre le contenu de la cellule et la chaîne entrée comme critère
de recherche : en clair, l'utilisation de caractères génériques ne semble pas
fonctionner....)

Si quelqu'un peut m'apporter quelques lumières, merci d'avance :
En résumé, je voudrais arriver à une formule de type
{=SOMME((A2:A6="*AB*")*(B2:B6="*XY*"))} cad intégrant une recherche de X
caractères spécifiques "noyés" au milieu d'une chaîne de caractères

4 réponses

Avatar
Starwing
Bonjour,

=SOMMEPROD(--(NON(ESTERREUR(CHERCHE("ab";A1:A5))))*(NON(ESTERREUR(CHERCHE("x
y";B1:B5)))))

Starwing
Avatar
AV
Matricielles :

nb de lignes ou la plage test1 contient AB = 3
=SOMME(ESTNUM(CHERCHE("AB";test1))*1)


nb de lignes ou la plage test2 contient XY = 3
=SOMME(ESTNUM(CHERCHE("XY";test2))*1)


nb de lignes ou la plage test1 contient AB et test2 contient XY = 2
=SOMME(ESTNUM(CHERCHE("AB";test1))*ESTNUM(CHERCHE("XY";test2)))


AV

Avatar
isabelle
bonjour Orsu,

tu pourrais le calculer à partir d'une nouvelle collone, avec cette
formule à recopier vers le bas.

=SI(SI(ESTERREUR(TROUVE("AB";A2));0;1)+SI(ESTERREUR(TROUVE("XY";B2));0;1)=2;1;0)

isabelle


Bonjour à tous

Je cherche une formule permettant de compter les lignes (occurences)d'un
tableau de deux colonnes répondant à deux conditions cumulatives :
- le premier critère est la présence dans la première plage d'une chaîne de
caractères "AB"
- le second critère est que la chaîne de caractères "XY" soit présente dans
la seconde plage

test 1 test 2
gdgABgg fffXT
Abjhgh dhdhXYjki
lmpACnt Xyvdre
lmpoiTR Abmpos
ZSEYAB cdRXYdez

nb de lignes ou la plage test1 contient AB = 3
nb de lignes ou la plage test2 contient XY = 3
nb de lignes ou la plage test1 contient AB et test2 contient XY = 2

La difficulté spécifique est que les éléments constituant les critères de
recherche dans la formule matricielle sont inclus dans une autre chaîne de
caractère ("sABfrml" ou "dfrXYre" et que leur place est aléatoire.

Après diverses recherches dans plusieurs forums (Excel-Microsoft,
Excel-Downloads, Excelabo,…), j'ai testé plusieurs formules mais aucune ne
fonctionne de manière satisfaisante (sauf lorsqu'il existe une stricte
concordance entre le contenu de la cellule et la chaîne entrée comme critère
de recherche : en clair, l'utilisation de caractères génériques ne semble pas
fonctionner....)

Si quelqu'un peut m'apporter quelques lumières, merci d'avance :
En résumé, je voudrais arriver à une formule de type
{=SOMME((A2:A6="*AB*")*(B2:B6="*XY*"))} cad intégrant une recherche de X
caractères spécifiques "noyés" au milieu d'une chaîne de caractères



Avatar
Orsu
Merci beaucoup à tous les trois et plus particulièrement à Starwing et AV
(Désolé, Isabelle : je n'avais pas précisé que je ne voulais pas rajouter de
colonnes en plus de celles qui existaient déjà).
Les formules proposées fonctionnent parfaitement et répondent exactement à
ce que je cherchais ; je vais essayer de comprendre le cheminement
logique!!!

Merci encore et bonne soirée