RESOLU: Utilisation des fcts indirect et colonne à l'interieur de la fct somme.si

cemi98

XLDnaute Nouveau
Bonjour,
Après maintes recherches, j'arrive à un point de blocage:
La formule ci-dessous me ramène un fonctionnement correct.
=SOMME.SI(INDIRECT(CONCATENER("AB$8:AB$";$O$1));FAUX;INDIRECT(CONCATENER("F$8:F$";$O$1)))

Je souhaite maintenant pouvoir tirer cette formule et donc variabiliser la colonne de la plage.
En clair, si je tire vers la droite, je souhaiterai que la cellule suivante fasse référence à la colonne AC au lieu de AB.
Soit l'équivalent de:
=SOMME.SI(INDIRECT(CONCATENER("AC$8:AC$";$O$1));FAUX;INDIRECT(CONCATENER("F$8:F$";$O$1)))

J'ai donc essayé d'utiliser la formule colonne(), mais si la formule a une syntaxe correcte, elle ne renvoie plus le bon résultat.
Comme si l'interprétation de la plage par la fonction indirect ne fonctionnait plus.
=SOMME.SI(INDIRECT(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)&$O$1;VRAI);FAUX;INDIRECT(CONCATENER("F$8:F$";$O$1)))
 
Dernière édition:

VDAVID

XLDnaute Impliqué
Re : Utilisation des fonctions indirect et colonne à l'interieur de la fonction somme

Bonjour Cemi98,

Peut être en remplaçant:

INDIRECT(CONCATENER("AB$8:AB$";$O$1))

par:

INDIRECT(STXT(ADRESSE(1;COLONNE(AB1));2;CHERCHE("$";ADRESSE(1;COLONNE(AB1));2)-2) & "$8:" & STXT(ADRESSE(1;COLONNE(AB1));2;CHERCHE("$";ADRESSE(1;COLONNE(AB1));2)-2) & "$"&$O$1))


Bonne journée !

EDIT: Bonjour Chris, ta solution est nettement plus simple ! :)
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : Utilisation des fonctions indirect et colonne à l'interieur de la fonction somme

Bonjour

Essaye INDIRECT ainsi
Code:
INDIRECT("L2C"&COLONNE(AB1)&":L"&$O$1&"C"&COLONNE(AB1);FAUX)

Edit Salut à VDAVID
 
Dernière édition:

cemi98

XLDnaute Nouveau
Resolu : Utilisation des fct indirect et colonne à l'interieur de la fct somme.si

Bonjour,

Merci. Grâce à ta suggestion et la fonction adresse(), mon problème est résolu.
Voici donc la formule la plus simple que j'ai trouvée et qui fonctionne et peut donc être tirée sur les colonnes suivantes:

=SOMME.SI(INDIRECT(ADRESSE(8;COLONNE()) & ":" & ADRESSE($O$1;COLONNE()));FAUX;INDIRECT(CONCATENER("F$8:F$";$O$1)))

Exemple pour les prochains lecteurs de la discussion:
Si la formule est saisie dans une cellule de la colonne AD et que la cellule O1 contient la valeur 2348, alors Excel fera la somme.si suivante:
=SOMME.SI(INDIRECT(ADRESSE(8;COLONNE(AD)) & ":" & ADRESSE(2348;COLONNE(AD)));FAUX;INDIRECT(CONCATENER("F$8:F$";2348)))
soit
=SOMME.SI(INDIRECT($AD$8 & ":" & $AD$2348);FAUX;INDIRECT(F$8:F$2348))
soit
=SOMME.SI($AD$8:$AD$2348;FAUX;F$8:F$2348)
 

Discussions similaires

Statistiques des forums

Discussions
314 121
Messages
2 106 128
Membres
109 495
dernier inscrit
jerome bonneau