Exécuter le même ensemble de formules dans Excel pour plusieurs feuilles de calcul

0

Je suis un utilisateur élémentaire ou intermédiaire d'Excel et récemment, j'ai eu pour tâche de créer un grand tableur. Je l'ai construit et cela fonctionne cependant, c'est une très grande taille de fichier (66 Mo). Voici ce que le tableur doit faire.

L'utilisateur saisit la date ou choisit plusieurs colonnes dans une liste déroulante (Liste de validation des données). Il existe un ensemble de formules pour calculer si la cellule remplit les critères

Exemple: = IF (C3 = 'référé', 1,0)

Cette formule est répétée une fois pour chacune des colonnes à calculer.

Ensuite, j'ai une formule qui regarde la colonne A pour la date, regarde la cellule pour la formule indiquée précédemment, si les deux correspondent à la valeur, elle donne la valeur 1.

Exemple2: P2 dans cet exemple correspond à la date mise à jour à partir d'une feuille de calcul différente du classeur. = IF (Et (A1 = P2, B1 = 1), 1,0) J'utilise aussi les formules similaires à ceci = IF (Et (A1 = Somme (P2 + 1), B1 = 1), 1,0)

La valeur de cette formule est mise à jour sur la feuille de calcul principale du classeur. Ainsi, j'ai exemple2 répété 7 fois, une pour chaque jour de la semaine ... pour chacune des 7 colonnes de la ligne, pour des centaines de lignes, et cela se répète sur environ 12 à 15 onglets.

Donc, pendant que cela fonctionne, le classeur devient très volumineux ... La question est donc de savoir s'il existe un moyen de configurer les formules une seule fois sur une feuille de calcul, ce qui calculera les informations, puis mettra à jour la page de garde sur le ligne datée pour la feuille de calcul spécifiée?

J'espère que c'est clair, que c'est compliqué et que j'espère trouver une réponse à cette question. J'utilise Excel 2003

Hassan
la source

Réponses:

0

Je comprends bien que vous souhaitiez que le même ensemble de formules sur une feuille fasse référence de manière variable aux valeurs des autres feuilles (y compris celles des autres classeurs), en fonction de certaines conditions (telles que des données particulières). Ce serait certainement possible en utilisant la fonction INDIRECT.

Par exemple,

A1 = "WorkbookA.xlsx" 'Ces valeurs peuvent être dynamisées en faisant en sorte qu'elles soient le résultat d'un choix dans un menu déroulant. C'est faisable, mais peut-être que A2 = "Sheet1" 'est trop compliqué en pratique.

A3 = = IF (INDIRECT ("[" & A1 & "]!" & A2 & "F14") = TRUE, 1,)

Si vous souhaitez que le même ensemble de formules génère réellement un ensemble de résultats, avec une ligne dérivant d'une feuille, une autre ligne dérivant d'une autre feuille, la seule possibilité non-VBA que je vois serait d'utiliser un tableau de données bidirectionnel. (normalement utilisé pour l'analyse "what-if"), où les entrées peuvent être des noms de feuille ou des dates différentes, etc., et où les montants calculés utiliseraient à nouveau la fonction INDIRECT. Le problème, c'est que vous pourriez avoir besoin d'une table de données distincte pour chaque formule de sortie. Peut également entraîner de longs temps de calcul.

chuff
la source