Ich versuche eine Formel zu entwickeln, die einen variablen Bereich summiert, der durch eine Änderung der Textwerte einer anderen Spalte bestimmt wird. Ich mache einen Rechner, der mir sagt, wann ich meine Gesamteinzahlung kategorisiert habe. Hier ist ein Beispiel:
Ich vermerke einen Gehaltsscheck in einem Scheckheftprotokoll und trenne das Geld in verschiedene Kategorien. Ich möchte, dass die Berechnung in F5 nur die Summe der Zellen in Spalte E summiert, die einen kontinuierlichen Lauf der Beschreibung "Einzahlung prüfen" in Spalte C haben. Sobald sich eine Zelle in Spalte C in etwas anderes ändert, ist dies der Fall Ist 5 Reihen oder 15 Reihen unten, möchte ich, dass die Berechnung dort aufhört.
In diesem Beispiel wäre also F5 =F4-SUMIF(C4:C7,C4,E4:E7)
. Ich brauche jedoch C4: C7 und E4: E7, um sich automatisch zu ändern, wenn die Beschreibung "Einzahlung prüfen" in Spalte C bei der nächsten Verwendung noch weiter zurückgeht.
Ich hoffe das ergibt Sinn. Ich weiß, dass es eine Möglichkeit gibt, VBA-Code zu verwenden, aber ich würde gerne eine Gleichung dafür finden, wenn dies möglich ist.
quelle
Antworten:
Wenn Sie einige Annahmen darüber treffen, was Sie versuchen, kann die folgende Formel in F5 Ihr Problem lösen.
Dies ist eine Matrixformel. Sie muss also mit STRG-Umschalt-Eingabe und nicht nur mit Eingabe eingegeben werden. Bei korrekter Eingabe umgibt Excel die Formel mit geschweiften Klammern {} in der Formelleiste.
Das funktioniert so, dass Sie ein Zahlenarray erstellen, das die Beträge in Spalte E enthält, die die von Ihnen gesuchten Bedingungen erfüllen.
Der erste Teil,
(C$4:C$20=C$4)
ist TRUE, wenn der Bereich C4: C20 "Check Deposit" entspricht Der zweite Teil,(C$4:C$20=C$3:C$19)
ist TRUE, wenn eine Zelle in C4: C20 der darüber liegenden Zelle entspricht.Das Multiplizieren dieser zwei Arrays von logischen Werten entspricht der AND () - Operation und konvertiert die TRUE / FALSE-Werte ebenfalls in 1 oder 0. Das Ergebnis dieser Multiplikation ist also das Array
{0;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0}
. Jetzt multiplizieren mit(E$4:E$20)
gibt die Reihe der Beträge in Spalte E an{0;50;50;50;0;0;0;0;0;0;0;0;0;0;0;0;0}
Als nächstes summieren wir diese Werte und addieren E $ 4 zurück. (Es fehlte im Ergebnisfeld, da C4 nicht mit der darüber liegenden Zelle übereinstimmt.) Wenn Sie dies alles von der Summe in F4 abziehen, erhalten Sie das Endergebnis.
Anmerkungen:
Ich hoffe das hilft.
quelle
Ihre Formel hat perfekt funktioniert, Blackwood.
= F $ 4 (E $ 4 + SUM ((C $ 4: C $ 20 = C $ 4)) (C $ 4: C $ 20 = C $ 3: C $ 19) (E $ 4: E $ 20)))
Ich habe es einfach an der richtigen Stelle meiner bestehenden Formel eingefügt und es tut genau das, was ich brauche. Vielen Dank für Ihre Zeit und Hilfe. Ich habe mich schon seit Tagen damit beschäftigt. Ich weiß nicht warum, aber es fällt mir am schwersten, mein Gehirn um Arrays herumzubringen.
Danke noch einmal!
quelle