Ligne & indirect

Résolu/Fermé
jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024 - Modifié le 9 déc. 2021 à 15:33
Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024 - 10 déc. 2021 à 15:18
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.

3 réponses

Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024 1 448
Modifié le 9 déc. 2021 à 23:13
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
1
jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024 1
9 déc. 2021 à 23:44
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
0
Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024 1 448 > jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024
Modifié le 10 déc. 2021 à 00:21
Bonsoir,
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
0
jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024 1 > Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024
10 déc. 2021 à 08:07
Bonjour,
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
0
Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024 1 448 > jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024
Modifié le 10 déc. 2021 à 10:55
Bonjour,
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
0
jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024 1 > Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024
10 déc. 2021 à 11:43
Pourtant la formule en AI53 fonctionne
=SOMMEPROD(N(JOURSEM(LIGNE(INDIRECT($A$8&":"&FIN.MOIS($S$41;0)));2)=7))
0
Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024 1 448
Modifié le 9 déc. 2021 à 14:28
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)


0
jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024 1
9 déc. 2021 à 22:37
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.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 412
9 déc. 2021 à 14:30
Bonjour
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
0
Le Pingou Messages postés 12175 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 30 octobre 2024 1 448
Modifié le 9 déc. 2021 à 15:42
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
0
jardinours Messages postés 55 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 18 février 2024 1
Modifié le 9 déc. 2021 à 22:42
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.
0