Ligne & indirect
Résolu
Bonjour,
Pour rechercher le nombre dimanche entre 2 dates (A8 et S41); la formule suivante fonctionne très bien :
=SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT(A8&":"&S41)));2)=7))
mais je n'arrive pas à comprendre le fonctionnement de l'association Ligne et indirect... seule, je comprend chaque formule. Normalement Indirect permet d'extraire la référence depuis une autre cellule plutôt que de l’écrire directement dans une fonction. Ici les cellules indiquées A8 et S41 contiennent les dates d'encadrement. Si quelqu’un pouvait m'expliquer clairement cela. Je n'aime pas utiliser des formules que je ne comprend pas et je n'ai pas trouvé d'explication satisfaisante sur internet. Merci beaucoup de vos réponses.
Pour rechercher le nombre dimanche entre 2 dates (A8 et S41); la formule suivante fonctionne très bien :
=SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT(A8&":"&S41)));2)=7))
mais je n'arrive pas à comprendre le fonctionnement de l'association Ligne et indirect... seule, je comprend chaque formule. Normalement Indirect permet d'extraire la référence depuis une autre cellule plutôt que de l’écrire directement dans une fonction. Ici les cellules indiquées A8 et S41 contiennent les dates d'encadrement. Si quelqu’un pouvait m'expliquer clairement cela. Je n'aime pas utiliser des formules que je ne comprend pas et je n'ai pas trouvé d'explication satisfaisante sur internet. Merci beaucoup de vos réponses.
3 réponses
-
Bonsoir jardinours,
Merci du retour.
Je maintiens que la formule que vous avez mise dans le poste ne fonctionne pas chez moi.
Celle du poste 3 avec date début 01.02.2021 et fin 01.03.2021 me donne 4 dimanches.
Explication : vous pouvez suivre la formule pas à pas avec l'outil [évaluer la formule]
_ INDIRECT renvoi des 2 valeurs numérique des dates (44228 pour début et 44256 pour fin.
--LIGNE : reçoit ses 2 valeurs et génère tous les nombres entre ces 2 valeurs : 44228,44229, 44230.....)
- JOURSEM génère tous les numéros de jour correspondant et SOMMEPROD réalise l'addition des valeurs vrai (1)
Salutations.
Le Pingou-
Merci de vos explications. Vous trouverez ci-joint mon fichier avec la formule nbre de dimanche surligné en jaune. Elle fonctionne. Encore merci.
https://www.cjoint.com/c/KLjwQuu311d -
@jardinoursBonsoir,
Celle du premier poste=SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT(A8&":"&S41)));2)=7))
est différente de=SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT(A8&":"&S41)))=7))
Il y a bien [ ;2) ] qui est en trop...!
A une prochaine
Salutations.
Le Pingou -
@Le PingouBonjour,
Le 2 est pour le type de retour dans la formule JOURSEM : Chiffre compris entre 1 (lundi) et 7 (dimanche). sans le "2" par défaut Chiffre compris entre 1 (dimanche) et 7 (samedi)... le 7 renvoie donc au samedi.
Cordialement -
@jardinoursBonjour,
Sans commentaire et voici la troisième dans cellule [AI53] Calendrier=SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT($A$8&":"&FIN.MOIS($S$41;0)));2)=7))
elle fonctionne mais pas Celle que vous avez mise du premier poste =SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT(A8&":"&S41)));2)=7))
Je l'ai introduite dans votre fichier et aucun résultat !
Salutations.
Le Pingou -
@Le PingouPourtant la formule en AI53 fonctionne
=SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT($A$8&":"&FIN.MOIS($S$41;0)));2)=7))
-
-
Bonjour,
Est-vous certain que la formule fonctionne tel que mentionnée?
A quoi correspond le [N]?
La formule suivante fonctionne correctement:=SOMMEPROD((JOURSEM(A8:S41)=7)*1)
-
Bonsoir,
La fonction N Renvoie une valeur convertie en nombre. Dans le cas présent elle convertie les affirmations vrai ou faux en 1 ou 0... elle a la même fonction que votre *1. La formule est correcte, je l'ai vérifié mais elle n'est pas de moi. Ce que je veux comprendre c'est le fonctionnement de LIGNE associé à INDIRECT. Merci de votre intervention.
Cordialement.
-
-
ContributeurBonjour
mon Excel ne veut pas de la formule telle que vous l'avez écrite. Ce serait plus facile de comprendre si vous pouvez déposer votre fichier ici et revenir coller le lien créé
https://www.cjoint.com/
crdlmnt-
Hello Vaucluse,
Toute réflexion faite la formule devrait celle ci=SOMMEPROD((JOURSEM(LIGNE(INDIRECT(A$8&":"&S$41)))=7)*1)
En A8 date début et S41 date de fin!
Amical salutation -
Bonsoir,
Mon tableau est un gros fichier qui calcule les jours d'un emploi du temps. La formule est correcte je l'ai utilise mais elle n'est pas de moi. Je l'ai juste écrit pour que avoir une explication sur l'utilisation de LIGNE et INDIRECT associés. Je n'ai pas trouvé d'explication satisfaisante sur internet et j'aime bien comprendre ce que j'utilise. Merci de votre intervention.
Cordialement.
-