Nous avons toutes ajouté des informations dans nos têtes, puis écrit les résultats, Par exemple, un simple comptabilisation, hier, j'ai vendu 10 pommes, la veille de la vente de 5 ans pour un total de 15 ans, aujourd'hui, j'ai vendu 5 ans pour un total de 20 ans, une simple équation que nous faisons tous tous les jours dans notre tête sans même y penser. , la formule que je crois consisterait essentiellement: A + B = BNEW P>
où une vente quotidienne serait la vente quotidienne. B serait la vente totale et Bnew est le nouveau total. P>
Comment puis-je le faire dans Excel sans prendre des pages de lignes totales en cours ou de script de base Visual de Fancy. P>
Je veux utiliser au plus 3 cellules Cell-1 = modification de la variable (la vente quotidienne) Cell-2 = le total de toutes les ventes auquel A1 sera ajouté. et si nécessaire Cell-3 pour maintenir le contenu de la cellule-2 comme notre mémoire la maintient pendant que nous mettons à jour le total. P>
Un problème de mathématiques très simple, mais me conduisant à des noix pour essayer d'obtenir Excel de le faire, j'ai cherché et recherché mais je ne connais même pas la bonne question à poser. p>
Merci pour votre aide p>
3 Réponses :
Compte tenu des restrictions: p>
Je pense qu'une option restante est la calcul itérative? Je ne sais pas, peut-être que quelqu'un d'autre peut penser à une meilleure solution. Mais en ce qui concerne le calcul itératif, voici comment j'ai défini ma feuille suivante: p>
Ceci utilise deux cellules (ignorant les étiquettes de la rangée 1): p>
a2 code>, j'ai la formule = A2 + B2 code> li>
- cellule
b2 code> est vide (prêt à avoir un nombre entré) li>
ul>
i ensuite aller à Fichier> Options> Formulas> Activer le calcul itératif> Modifier "Itérations maximales" à 1> OK CODE> P> P>
Toutes les notifications concernant les références circulaires doivent maintenant disparaître, et si je mettez un numéro dans la cellule B2 code>, la cellule A2 code> mises à jour de la manière que vous avez décrite dans votre message. Espérons que vous pouvez également reproduire cela sur votre machine. P>
La chose à noter est le paramètre de calcul itératif que vous modifierez est à l'échelle de l'application, alors je crois que cela affecte tous les autres classeurs. Quelque chose à garder à l'esprit. P>
Wow ...... si proche, ça marche, l'attelage étant que je ne peux pas sembler être capable de le réinitialiser, et si un numéro autre que la variable d'origine est modifié, la formule copiée sur une autre cellule est toujours mises à jour, comme si La variable "vraie" a été modifiée. Je ne serais pas défavorable à un script si cela fera le travail, je ne veux tout simplement pas de colonnes et de colonnes de données lorsque seulement 3 cellules sont nécessaires
Le Activer le calcul itératif code> Option était nouveau pour moi. Merci!
Si votre configuration ressemble à ceci dans la feuille1:
Puis une petite macro VBA dans la feuille de calcul de la feuille1 devrait faire le truc:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Range("B2").Value = Range("B2").Value + Range("A2").Value
End If
End Sub
En supposant que vous allez bien avec une petite quantité de code VBA, vous pouvez essayer de mettre le code ci-dessous dans le module de feuille de calcul de la feuille où vous entrez dans les données:
Private Sub Worksheet_Change(ByVal Target As Range)
' Assumes "daily sales" are entered into column B and that "running total" is in column A
If Target.Column = 2 Then
Me.Cells(Target.Row, "A").Value2 = Application.Sum(Me.Cells(Target.Row, "A"), Target)
End If
End Sub
Vous devriez utiliser la formule
somme code>. Voir cette MS LINKLa tâche ici est de "écrire un total d'exécution", c'est-à-dire "Remplacer le total mémorisé avec le numéro calculé en ajoutant un nouveau numéro au dernier total mémorisé". Dans Excel, vous écrivez ou vous laissez VBA faire le travail pour vous. Ce n'est pas "fantaisie" vba. En fait, comme vous le soulignez, c'est plutôt élémentaire. Mais le fait reste qu'un chiffre doit être écrit, mémorisé que vous pourriez dire (remplacé, je rétorquerais).