Je ne sais pas trop comment le formuler, mais je vais faire de mon mieux.
Voici la structure générale de ma feuille de calcul.
=IF(DAY(TODAY()) = 1, SUM(B2), IF(DAY(TODAY()) = 2, SUM(B2:B3), IF(DAY(TODAY()) = 3, SUM(B2:B4), IF(DAY(TODAY()) = 4, SUM(B2:B5), IF(DAY(TODAY()) = 5, SUM(B2:B6), 0)))))
Je veux faire une fonction de somme basée sur le jour du mois. La colonne A
comprend le jour du mois. Je veux vérifier le jour du mois en cours, puis le faire correspondre à la valeur de la colonne A
, puis faire la somme de B2
jusqu'au B
valeur adjacente au jour actuel du mois.
Par exemple, si c'est le 3 du mois, je veux que la formule soit B2: B4
. Je ne savais pas si je pouvais faire quelque chose comme incrémenter le jour de 1, donc pour le 3ème jour du mois, la valeur serait 4
qui pourrait correspondre à la cellule à la fin de la plage B4
.
Au départ, j'avais ça, mais faire ça pour chaque jour de chaque mois semble un peu verbeux et je ne savais pas s'il y avait une option plus efficace?
| A |B | ----------------- 1 | Jan | | 2 | 1 | £3.00 | 3 | 2 | £4.00 | 4 | 3 | £5.00 | 5 | 4 | £0.00 | 6 | 5 | £1.00 | ..| ... | ..... |
Toute aide serait grandement appréciée.
3 Réponses :
= SUM (INDIRECT ("B2: B" & MATCH (DAY (TODAY ()), A2: A100)))
La correspondance vous donne la ligne pour aujourd'hui, puis nous la concaténons dans une adresse et ensuite l'indirect passe cela à la fonction de somme
Vous pouvez utiliser la valeur de DAY (TODAY ())
comme paramètre height
de OFFSET
pour obtenir ceci:
=SUM(OFFSET(B2,0,0,DAY(TODAY()),1)
=SUM(B2:INDEX(B2:B32,DAY(TODAY()))) Alternative format to get the range. It assumes a maximum day of 31.