2
votes

Incrémenter la plage de somme de 1 en fonction du jour du mois

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.


0 commentaires

3 Réponses :


1
votes

= 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


0 commentaires

2
votes

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)


0 commentaires

1
votes
=SUM(B2:INDEX(B2:B32,DAY(TODAY())))
Alternative format to get the range.  It assumes a maximum day of 31.

0 commentaires