Je cherche à calculer un ensemble de données que je peux réutiliser sans avoir à mettre à jour les références de colonne chaque mois. Cette capture d'écran montre les exemples de tables avec lesquels je travaille.
Le tableau 1 présente les numéros de données source de divers projets, ventilés par éléments de ligne. Les chiffres sont mis à jour tous les mois et, à mesure que le mois se termine, l'en-tête passe de "Prévisions" à "Résultats réels".
Le tableau 2 est l'endroit où je résume les données par projet et par élément de campagne pour ce mois particulier. Je veux qu'il affiche toujours les chiffres réels du dernier mois et les prévisions du mois prochain. Chaque ligne doit montrer un groupe arbitraire de projets, qui seront listés individuellement (cellules I9: K10). Je veux des en-têtes par catégories (il en existe plusieurs, qui devront également être regroupés). J'ajoute les données pour chaque projet individuellement, car elles peuvent apparaître n'importe où dans le tableau. Donc maintenant, la formule dans I6 est =SUMIFS(D:D,$A:$A,I$9,$B:$B,$I5)+SUMIFS(D:D,$A:$A,J$9,$B:$B,$I5)+SUMIFS(D:D,$A:$A,K$9,$B:$B,$I5)
(c'est-à-dire en ajoutant les valeurs pour ce mois tout en faisant correspondre l'ID et la catégorie du projet. Répétez l'opération pour chaque ID de projet).
La méthode ci-dessus n'est pas la plus élégante, mais elle fonctionne pour mes besoins. Le seul problème est que je dois mettre à jour la colonne source D:D
chaque mois. Je veux pouvoir automatiser cette partie.
Je suis capable de
- trouver la dernière occurrence de 'Réels', et renseigner le mois 2017 05
dans I4 avec =LOOKUP(2,1/($1:$1="Actuals"),$2:$2)
- trouver la première occurrence de 'Prévision', et renseigner le mois 2017 06
dans K4 en utilisant =INDEX($2:$2,1,MATCH("Forecast",$1:$1,0))
- renseigner les numéros de colonne respectifs ( 4
& 5
) dans J4 & L4 utilisant=MATCH(I4,$2:$2,0)
Ce qu'il me faut maintenant, c'est un moyen de rechercher cette valeur '4' dans J4 et de l'utiliser à la place de D:D
SUMIFS, de sorte que le mois prochain, lorsque les données réelles seront mises à jour dans Tableau 1, le Tableau 2 sélectionnera automatiquement les données du mois suivant.
Notez que dans la feuille de calcul finale, Table1 et Table2 seront dans des feuilles de calcul séparées.
J'ai trouvé des solutions en utilisant VBA, une chose avec laquelle je ne suis pas à l'aise. Y a-t-il un moyen de le résoudre en utilisant des formules Excel normales?
la source
OFFSET
fonction (avec un0
pour l'rows
argument). par exemple. RemplacerD:D
par quelque chose commeOFFSET($A:$A,0,$J$4-1)
. Ou vous pouvez utiliser laINDEX
fonction (non volatile mais vous devez limiter le tableau à la plus grande plage imaginable, au lieu de la feuille totale). par exemple:INDEX($A$1:$ZZ$1000,0,$J$4)
renverra le contenu deD1:D1000
ifJ4
=4