Clever-Excel-Forum

Normale Version: Wert nicht übernehmen, wenn...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,

ich hab schon mehrere Excelforen durchforstet, jedoch habe ich nirgendwo mein Problem entdeckt. Ich hoffe ihr könnt mir helfen.

Ich habe eine Tabelle, welche vereinfacht folgendermaßen aussieht:

A1 = Teilwert
A2 = Rechnung
A3 = Storno
A4 = Rechnung
A5 = Teilwert
A6 = Teilwert
A7 = Storno
A8 = Teilwert
A9 = Rechnung
A10 = Teilwert

Ich bräuchte eine Formel, welche alle Zellen mit dem Wert "Teilwert" ausschließt wenn dieser vor einer "Rechnung" auftaucht.
In dem Fall, sollte das Ergebnis wie folgt sein:


A1 = ""
A2 = Rechnung
A3 = Storno
A4 = Rechnung
A5 = ""
A6 = ""
A7 = Storno
A8 = ""
A9 = Rechnung

A10 = Teilwert


Hintergrund ist, dass die Teilbeträge schon in der Rechnung enthalten sind, und dadurch die Teilbeträge hinfällig sind.
Schön wäre auch wenn die leere Zeilen "", gelöscht werden, bzw. nach oben rücken.
Ich hoffe ihr könnt mir helfen Smile
Hallo,

Deine Frage ist nicht eindeutig, denn wo Text steht, kann keine Formel stehen (geht schon, wird hier aber außer acht gelassen!).
In der Spalte B könnte man aber Deinen Wunsch dann umsetzten.

x ja
x nein
x vielleicht
Hi,

Ja in Spalte B kann die Formel stehen Smile
Hallo,

ist dann doch C geworden (mit Hilfsspalte).
In Ermangelung von AGGREGAT(), geht nur eine Matrixformel zum "einsammeln".

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABC
1Teilwert2Rechnung
2Rechnung1Storno
3Storno1Rechnung
4Rechnung1Storno
5Teilwert2Rechnung
6Teilwert2Teilwert
7Storno1Teilwert
8Teilwert2 
9Rechnung1 
10Teilwert1 
11Teilwert1 
12 0 
13 0 
14 0 
15 0 
16 0 
17 0 
18 0 
19 0 
20 0 

ZelleFormel
B1=WENN(ZÄHLENWENN(A1:$A$20;"Rechnung");1;0)+(A1="Teilwert")
C1{=WENNFEHLER(INDEX($A$1:$A$20;KKLEINSTE(WENN($B$1:$B$20=1;ZEILE($A$1:$A$20));ZEILE(A1)));"")}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Hallo,

hier noch eine AGGREGAT-Lösung:
AB
1TeilwertRechnung
2RechnungStorno
3StornoRechnung
4RechnungStorno
5TeilwertRechnung
6Teilwert
7Storno
8Teilwert
9Rechnung
10Teilwert
11Teilwert

ZelleFormel
B1=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE($A$1:$A$20)/(($A$1:$A$20<>"Teilwert")*($A$1:$A$20<>""));ZEILE(A1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Super vielen Dank :19:
Kannst du mir vielleicht sagen, wie die Formel aussehen würde, wenn ich die rausgelöschten Zeilen doch anzeigen lasse?
Also dass die Zeilen nicht hoch rutschen

Danke
Das ist ja eigentlich noch einfacher:
AB
1Teilwert
2RechnungRechnung
3StornoStorno
4RechnungRechnung
5Teilwert
6Teilwert
7StornoStorno
8Teilwert
9RechnungRechnung
10Teilwert
11Teilwert

ZelleFormel
B1=WENN(A1="Teilwert";"";A1)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Dann geht auch B

=WENN(WENN(ZÄHLENWENN(A1:$A$20;"Rechnung");1;0)+(A1="Teilwert")=1;A1;"")
Ihr seid meine Helden. :18: 
Ich danke euch vielmals! Smile
Hi silex1,

mir ist gerade aufgefallen, dass mit deiner Formel alle Werte nach der letzten Rechnung ausgeschlossen werden, bis auf Teilwerte.
Bsp.

A1 = Teilwert
A2 = Rechnung
A3 = Teilwert
A4 = Storno
A5 = Teilwert
A6 = Rechnung
A7 = Teilwert
A8 = Storno


So sollte es aussehen
A1 =
A2 = Rechnung
A3 =
A4 = Storno
A5 =
A6 = Rechnung
A7 = Teilwert
A8 = Storno

VG
Seiten: 1 2