Une suite de logiciels de tableur Microsoft avec des outils pour analyser, créer des graphiques et communiquer des données
Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.
Bonjour F. Wasielewski**,**
Merci pour la clarification ! Nous sommes heureux qu’il puisse résoudre votre problème précédent. Maintenant, puisque votre objectif est d’ajuster dynamiquement le nombre de colonnes en fonction du nombre de jours d’un mois donné (où chaque jour a 2 colonnes : matin et après-midi), et que la cellule de départ est fixe (par exemple, L5), voici comment vous pouvez le faire dans un classeur récapitulatif à l’aide de formules Excel.
Je suppose que :
- A1 contient le numéro du mois (par exemple, 1 pour janvier)
- Vous souhaitez compter les absences du matin (colonnes impaires dès le début)
- Les données se trouvent dans un autre classeur, par exemple, « [Attendance.xlsx]Sheet1 » !
1. Calculer le nombre de jours dans le mois
=JOUR(EOMONTH(DATE(2025, A1, 1), 0))
Ensuite, nous multiplions par 2 pour obtenir le nombre de colonnes :
=JOUR(EOMONTH(DATE(2025, A1, 1), 0)) * 2
deux. Construire la plage dynamique
Vous pouvez utiliser INDIRECT et ADDRESS pour construire la plage de manière dynamique :
=SOMMEPRODUIT(
(MOD(COLUMN(INDIRECT("'[Attendance.xlsx]Sheet1' ! L5 :" & ADDRESS(5, COLUMN(L5) + DAY(EOMONTH(DATE(2025, A1, 1), 0)) * 2 - 1, 4))),2)=0) *
(INDIRECT("'[Attendance.xlsx]Sheet1' ! L5 : » & ADDRESS(5, COLUMN(L5) + DAY(EOMONTH(DATE(2025, A1, 1), 0)) * 2 - 1, 4))="X »)
)
Explication des critères :
- COLUMN(L5) = index de la colonne de départ (par exemple, 12)
- DAY(EOMONTH(...)) * 2 = nombre total de colonnes pour le mois
- ADRESSE(..., 4) = renvoie la lettre de la colonne sans $
- MOD(...,2)=0 = sélectionne les colonnes du matin
- INDIRECT(...) = construit la plage dynamique
J’espère que cela vous aidera ! N’hésitez pas à nous faire savoir si cela fonctionne !
Sinceres salutations
Doris V - MSFT | Spécialiste du support communautaire Microsoft