Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formel funktioniert nicht (WENN)
#1
Guten Tag,

ich möchte eine ganze Zeile in ein neues Arbeitsblatt kopieren, wenn eine bestimmte Spalte Zahlen enthält.

Bei einer bestimmten Zahl funktioniert diese Formel:
=WENN(ZEILE(Tabelle1!1:1)>ZÄHLENWENN(Tabelle1!$A$2:AD$2606;4450816207);"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!$I$2:$I$2606=4450816207;ZEILE(Tabelle1!$2:$2606));ZEILE(A1))))

Es soll jedoch der Bereich 4000000000 bis 4999999999 abgedeckt werden, bzw. alle Zellen berücksichtigt werden welche Zahlen enthalten.

Gebe ich diese Formel ein, um alle Zahlen bis 4999999999 auszugeben, erhalte ich kein Ergebnis:
=WENN(ZEILE(Tabelle1!1:1)>ZÄHLENWENN(Tabelle1!$A$2:AD$2606;"<="&4999999999);"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!$I$2:$I$2606<=4999999999;ZEILE(Tabelle1!$2:$2606));ZEILE(A1))))

Umgekehrt, alle Zahlen größer wie 1 funktioniert hingegen, nur werden dann auch die Zeilen mit Überschriften ausgegeben und das darf nicht sein:
=WENN(ZEILE(Tabelle1!1:1)>ZÄHLENWENN(Tabelle1!$A$2:AD$2606;">="&1);"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!$I$2:$I$2606>=1;ZEILE(Tabelle1!$2:$2606));ZEILE(A1))))

Wichtig, es sollen nur Zellen berücksichtigt werden welche Zahlen enthalten. Nicht die Zellen mit Überschriften.

Weiss hierzu jemand Rat? Vielen Dank.
Antworten Top
#2
Hallo,

ich habe momentan kein XL zur Verfügung, deshalb nur als Idee:

1. Arbeite mit einer Hilfsspalte und frage dort ab ob der Wert innerhalb deines Bereiches liegt und trage bei Wahr z.B. ein X ein. Verwende dann diese Hilfsspalte in deiner eigentlichen Formel.

2. Ersetze Zählenwenn in der Formel durch Summenprodukt, dort kannst du auch eine Bereich von...bis prüfen

3. Nutze alternative Möglichkeiten wie z.B. PowerQuery. Das ist anfangs zwar etwas Einarbeitung das wird sich aber auf lange Sicht vermutlich auszahlen.

Alle Ideen natürlich abhängig vom Aufbau deiner Tabelle die genauso im Nebel verborgen ist wie der momentane Blick aus dem Fenster
Gruß
Peter
Antworten Top
#3
Hallo

Code:
=WENNFEHLER(INDEX(Tabelle1!A:A;AGGREGAT(15;6;ZEILE(Tabelle1!$2:$2606)/(Tabelle1!$I$2:$I$2606<=4999999999)/(Tabelle1!$I$2:$I$2606>=4000000000);ZEILE(A1)));"")
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#4
Super. Vielen Dank. :)

Nun habe ich noch eine Frage zur Ausgabe:

Ich habe jetzt. z.B. 300 Zeilen im Ziel-Sheet mit dieser Formel hinterlegt. Hier auch ein gesonderter Rahmen.
Seitenansicht gibt mir alle 300 Zeilen zum Drucken aus. Ich möchte aber nur die tatsächlich übertragenen Drucken, inkl. Rahmen.
Antworten Top
#5
Hallo,

da ich kein Fan von großen Zahlen in Formeln bin, würde ich das so schreiben:


Code:
=WENNFEHLER(INDEX(Tabelle1!A:A;AGGREGAT(15;6;ZEILE(Tabelle1!$2:$2606)/(Tabelle1!$I$2:$I$2606<5*10^9)/(Tabelle1!$I$2:$I$2606>=4*10^9);ZEILE(A1)));"")
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
(27.11.2016, 12:36)BoskoBiati schrieb: Hallo,

da ich kein Fan von großen Zahlen in Formeln bin, würde ich das so schreiben:


Code:
=WENNFEHLER(INDEX(Tabelle1!A:A;AGGREGAT(15;6;ZEILE(Tabelle1!$2:$2606)/(Tabelle1!$I$2:$I$2606<5*10^9)/(Tabelle1!$I$2:$I$2606>=4*10^9);ZEILE(A1)));"")


Vielen Dank.

Was hälst du generell von dieser Formel bzw. gibt es noch eine Bessere?
Es soll anhand einer bestimmten Zahl in einer Zelle die ganze Zeile in ein neues Arbeitsblatt kopieren:

=WENN(ZEILE(Tabelle1!1:1)>ZÄHLENWENN(Tabelle1!$A$2:AD$2176;1);"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!$A$2:$A$2176=1;ZEILE(Tabelle1!$2:$2176));ZEILE(A1))))

Die Formel funktioniert so weit, Fehlermeldungen "Bezug" habe ich mit weisser Schrift ausgeblendet.
Allerdings schleichen sich immer wieder Zeilen mit Bezugsfehlern in das Ziel-Blatt, welche ich jedes Mal händisch löschen muss. Beispiel:
=WENN(ZEILE(Tabelle1!#BEZUG!)>ZÄHLENWENN(Tabelle1!$A$2:AD$2176;1);"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!$A$2:$A$2176=1;ZEILE(Tabelle1!$2:$2176));ZEILE(A3))))
Wieso passiert dies?
Antworten Top
#7
Hallo,

das würde ich mit VBA lösen, da in der Ursprungstabelle offensichtlich regelmäßig Zeilen gelöscht werden, die dann zu einem Bezugsfehler führen. Evtl hilft es auch nur so zu schreiben:

WENN(ZEILE(1:1)>
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#8
(28.11.2016, 07:18)BoskoBiati schrieb: Hallo,

das würde ich mit VBA lösen, da in der Ursprungstabelle offensichtlich regelmäßig Zeilen gelöscht werden, die dann zu einem Bezugsfehler führen. Evtl hilft es auch nur so zu schreiben:

WENN(ZEILE(1:1)>


Mit dieser Formel funktioniert es auch:

Code:
=WENNFEHLER(INDEX(Tabelle1!A:A;AGGREGAT(15;6;ZEILE(Tabelle1!$2:$2606)/(Tabelle1!$A$2:$A$2606=1)/(Tabelle1!$A$2:$A$2606>=1);ZEILE(A1)));"")


Doch leider wird die Eingabe bzw. Berechnung nach jeder Eingabe nun endlos langsam (19 verschiedene Zielblätter).
Wie kann man das beschleunigen?
Antworten Top
#9
Hallo,

klar, dass die funktioniert, da gibt es den Bezug auf Tabelle1!1:1 nicht! Verstanden hast Du die Formel allerdings nicht, denn sie ist nicht sehr sinnvoll:


Code:
=WENNFEHLER(INDEX(Tabelle1!A:A;AGGREGAT(15;6;ZEILE(Tabelle1!$2:$2606)/(Tabelle1!$A$2:$A$2606>=1);ZEILE(A1)));"")

Auch wenn es nicht als Matrixformel ausgewiesen ist, die Formel macht nichts anderes als eine Matrixformel und könnte durchaus etwas Rechenzeit beanspruchen, wobei Deine Ursprungsformel wohl mehr Zeit brauchen sollte!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#10
(28.11.2016, 07:18)BoskoBiati schrieb: Hallo,

das würde ich mit VBA lösen, da in der Ursprungstabelle offensichtlich regelmäßig Zeilen gelöscht werden, die dann zu einem Bezugsfehler führen. Evtl hilft es auch nur so zu schreiben:

WENN(ZEILE(1:1)>

Wie würde diese Formel in meiner ausgeschrieben lauten
 Bin hier nur Laie.  Vielen Dank:)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste