Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 La fonction countif

walter ebelle

XLDnaute Junior
Bjr le forum,
Je souhaite me servir de la fonction countif dans le tableau joint.
Ecrire une formule qui Compte une seule fois dans la cellule K1, la valeur 1 si elle existe soit dans la cellule A1 OU C1 OU E1 OU G1 OU I1 OU dans toutes ces cellules à la fois. (Ne compter qu’une seule fois)
La même formule dans la cellule L1 mais qui compte cette fois la valeur 2
La même formule dans la cellule M1 mais qui compte cette fois la valeur 3
La même formule dans la cellule N1 mais qui compte cette fois la valeur 4
La même formule dans la cellule O1 mais qui compte cette fois la valeur 5
Et a la cellule P1 écrire la somme de K1 L1 M1 N1 O1.
 

job75

XLDnaute Barbatruc
Bonjour walter ebelle,

Voyez le fichier joint et cette formule en K2 à tirer à droite et vers le bas :
Code:
=SIGNE(SOMMEPROD(MOD(COLONNE($A:$I);2)*($A2:$I2=COLONNE()-10)))
A+
 

Pièces jointes

  • Book(1).xlsx
    11.8 KB · Affichages: 8

walter ebelle

XLDnaute Junior
Bonjour walter ebelle,

Voyez le fichier joint et cette formule en K2 à tirer à droite et vers le bas :
Code:
=SIGNE(SOMMEPROD(MOD(COLONNE($A:$I);2)*($A2:$I2=COLONNE()-10)))
A+
Bjr Job75,
Merci pour la proposition. Quand j'applique la formule dans mon fichier réel ça ne marche pas. Ce que je n'ai pas précisé dans mon problème est que toutes les cellules de A2 à J2 sont des cellules liées à d'autres cellules qui contiennent des formules textes.
 

patricktoulon

XLDnaute Barbatruc
bonjour
en K1
=SI(OU(A1=1;C1=1;E1=1;G1=1;I1=1)=VRAI;1;"")
en L1
=SI(OU(A1=2;C1=2;;E1=2;G1=2;I1=2)=VRAI;1;"")
en M1
=SI(OU(A1=2;C1=2;;E1=2;G1=2;I1=2)=VRAI;1;"")
en N1
=SI(OU(A1=4;C1=4;E1=4;G1=4;I1=4)=VRAI;1;"")
en O1
=SI(OU(A1=5;C1=5;E1=5;G1=5;I1=5)=VRAI;1;"")
en P1
=SOMME(K1:O1)

et étendre les formules vers le bas
 

Pièces jointes

  • Classeur1.xlsx
    15 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonjour walter ebelle, salut patricktoulon,

Visiblement vous n'avez rien compris à la formule.

La colonne DP a pour numéro 120 (pair), la colonne DY a pour numéro 129 donc utilisez en DZ2 :
Code:
=SIGNE(SOMMEPROD((MOD(COLONNE($DP:$DX);2)=0)*($DP2:$DX2=COLONNE()-129)))
A+
 

Pièces jointes

  • Book(2).xlsx
    38.3 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bien sûr on peut aussi entrer en DZ2 :
Code:
=SIGNE(SOMMEPROD((MOD(COLONNE($DP:$DX);2)=0)*($DP2:$DX2=DZ$1)))
si les valeurs de référence en ligne 1 sont bien présentes.
 

Pièces jointes

  • Book(3).xlsx
    38.3 KB · Affichages: 4

job75

XLDnaute Barbatruc
@patricktoulon 2 remarques sur tes formules :

1) =VRAI est inutile puisque OU renvoie VRAI ou FAUX

2) pour n'avoir qu'une formule il faut utiliser COLONNE()-10 donc en K1 :
Code:
=SI(OU($A1=COLONNE()-10;$C1=COLONNE()-10;$E1=COLONNE()-10;$G1=COLONNE()-10;$I1=COLONNE()-10);1;"")
A+
 

walter ebelle

XLDnaute Junior
Bjr Job75,
Certainement c’est moi qui n’applique pas bien la formule.
Le tableau que j’ai joint est un exemple je vais préciser exactement comment le tableau réel se présente.
La cellule DP2 qui est à la colonne 120 ici dans l’exemple, au tableau réel se trouve à la ligne 1004 cellule BE1004 à la colonne 372.
Dans le tableau exemple j’ai 10 colonnes de DP à DY (120-129), dans le tableau réel j’ai 20 colonnes (10 colonnes qui comptent les valeurs en jaune et 10 qui comptent les valeurs en vert).
Dans le tableau exemple de DZ à ED j’ai 5 colonnes et je compte de 1 à 5 par contre dans le tableau réel j’ai 9 colonnes et je compte de 1 à 9
Voici la formule que j’ai écrite =SIGN(SUMPRODUCT((MOD(COLUMN($NH:$NZ);1004)=0)*($NH1004:$NZ1004=COLUMN()-382)))
 

walter ebelle

XLDnaute Junior
Bonsoir walter ebelle,

Dans la fonction MOD le 2 permet de distinguer les numéros de colonnes pairs des impairs.

Remplacer ce 2 par 1004 n'a aucun sens !!!

A+
Bjr Job75 j'ai pu écrire la formule ça marche elle compte les colonnes paire. Pour les colonnes impaires comment sera la formule à la OL2 pour compter les colonnes vertes ?
 

Pièces jointes

  • Book5.xlsx
    10.3 KB · Affichages: 2

job75

XLDnaute Barbatruc
Bonjour walter ebelle,

En OL2 :
Code:
=SIGNE(SOMMEPROD(MOD(COLONNE($NI:$OA);2)*($NI2:$OA2=COLONNE()-401)))
Sur version canadienne (avec point-virgule) :
Code:
=SIGN(SUMPRODUCT(MOD(COLUMN($NI:$OA);2)*($NI2:$OA2=COLUMN()-401)))
A+
 

Pièces jointes

  • Book5.xlsx
    10.8 KB · Affichages: 2

Discussions similaires

Réponses
5
Affichages
403
  • Résolu(e)
Microsoft 365 Formule
Réponses
3
Affichages
235
  • Résolu(e)
Microsoft 365 Fonction excel
Réponses
7
Affichages
266
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…