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.

Verrückte Formel ändert sich selbst
#1
Grüße liebe Community,

ich werde noch verrückt...

Ich habe diese Formel hier:

=WENNFEHLER(INDEX(Eingabemaske!P12:P3000;VERGLEICH(B2&D2&C2&G2;Eingabemaske!B12:B3000&Eingabemaske!C12:C3000&Eingabemaske!F12:F3000&Eingabemaske!E12:E3000;0));"")

Ich suche aus der Eingabemaske bestimmte Daten und lasse mir dann die dazugehörige Summe in P anzeigen.
Das Problem ist, wenn ich bei der Eingabemaske eine neue Zeile hinzufüge, sieht die Formel plötzlich so aus:

=WENNFEHLER(INDEX(Eingabemaske!P13:P3001;VERGLEICH(B2&D2&C2&G2;Eingabemaske!B13:B3001&Eingabemaske!C13:C3001&Eingabemaske!F13:F3001&Eingabemaske!E13:E3001;0));"")

Auch wenn ich die einzelnen Zelle absolut setzte mit F4, passiert dieser "Fehler" wie bekomme ich es hin, damit sich die Werte nicht verändern, egal ob ich einen Datensatz hinzufüge oder lösche?

Gruß

Mounzer

UND VIELEN VIELEN DANK!
Antworten Top
#2
Hallo,

ungetestet.

Code:
=WENNFEHLER(INDEX(Eingabemaske!P$12:P$3000;VERGLEICH(B2&D2&C2&G2;Eingabemaske!B$12:B$3000&Eingabemaske!C$12:C$3000&Eingabemaske!F$12:F$3000&Eingabemaske!E$12:$E3000;0));"")
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
Hallo,

versuch mal deine riesige Formel mit  "=INDIREKT(.......)" zu ergänzen. Das sollte verhindern, dass sich die Formel ändert wenn sich die Bezugszellen ändern (z.B. durch hinzufügen neuer Zellen)

Viele Grüße
fullevent
Antworten Top
#4
(18.05.2016, 14:19)Steffl schrieb: Hallo,

ungetestet.

Code:
=WENNFEHLER(INDEX(Eingabemaske!P$12:P$3000;VERGLEICH(B2&D2&C2&G2;Eingabemaske!B$12:B$3000&Eingabemaske!C$12:C$3000&Eingabemaske!F$12:F$3000&Eingabemaske!E$12:$E3000;0));"")


Hallo Steffl,

wenn ich das nicht falsch verstanden habe, dann verhindert das $-Zeichen die Veränderung der Zeile (und/oder eben Spalte) beim verschieben der Formel, nicht beim verschieben der Zellen auf die sich die Formel bezieht.
Aber ich habe meinen Lösungsvorschlag auch nicht getestet ^^

Viele Grüße
fullevent
Antworten Top
#5
Also du meinst so Full?


"=INDIREKT(INDEX(Eingabemaske!P$12:P$3000;VERGLEICH(B2&D2&C2&G2;Eingabemaske!B$12:B$3000&Eingabemaske!C$12:C$3000&Eingabemaske!F$12:F$3000&Eingabemaske!E$12:$E3000;0));"")
Antworten Top
#6
(18.05.2016, 14:01)Mounzer schrieb: Das Problem ist, wenn ich bei der Eingabemaske eine neue Zeile hinzufüge, sieht die Formel plötzlich so aus:
Du meinst du fügst eine Zeile oberhalb der Zeile 12 ein?
Falls ja, dann ist das Verhalten von Excel korrekt.

Einfache Lösung: Füge neue Daten unter den bisherigen Daten an. Und wenn du dann noch eine formatierte Tabelle verwendest dann brauchst du noch nicht mal den Bereich bis Zeile 3000 festzusetzen sondern kannst mit den strukturierten Verweisen arbeiten.

Nicht so einfache Lösung: Schreibe die Bezüge in INDIREKT().
Grüsse
Detlef

Bitte keine PN!
Seit Nikolaus 2012 mit Excel 2010. Seit Ostern 2015 mit Office 365
Antworten Top
#7
(18.05.2016, 14:41)Hydronaut schrieb:
(18.05.2016, 14:01)Mounzer schrieb: Das Problem ist, wenn ich bei der Eingabemaske eine neue Zeile hinzufüge, sieht die Formel plötzlich so aus:
Du meinst du fügst eine Zeile oberhalb der Zeile 12 ein?
Falls ja, dann ist das Verhalten von Excel korrekt.

Einfache Lösung: Füge neue Daten unter den bisherigen Daten an. Und wenn du dann noch eine formatierte Tabelle verwendest dann brauchst du noch nicht mal den Bereich bis Zeile 3000 festzusetzen sondern kannst mit den strukturierten Verweisen arbeiten.

Nicht so einfache Lösung: Schreibe die Bezüge in INDIREKT().

Grundsätzlich wird ein neuer Datensatz immer bei Zeile 12 eingepflegt, die restlichen Daten verschieben sich nur nach unten. Also ich kopiere durch ein Makro die letzte untere Zeile 13, lösche den Inhalt der Zeile und somit ist die Eingabe von neuen Daten in der Zeile 12 möglich. Ich frage mich nur, wie das mit der INDIREKT() Lösung geht.
Antworten Top
#8
(18.05.2016, 14:47)Mounzer schrieb: Ich frage mich nur, wie das mit der INDIREKT() Lösung geht.
Schon mal einen Blick in die Hilfe geworfen?
Code:
INDIREKT("A1:A100")
Grüsse
Detlef

Bitte keine PN!
Seit Nikolaus 2012 mit Excel 2010. Seit Ostern 2015 mit Office 365
Antworten Top
#9
Hallo Mounzer,

hast Du nun Steffls Antwort (#2) getestet?
Und wenn Du per VBA eine Zeile einfügst, könntest Du ja auch gleich da die Formel mit reinschreiben.

Gruß Uwe
Antworten Top
#10
Hallo Kuwer,

ja, ich hatte die Idee auch bereits vor meinem Eintrag in das Forum getestet, leider ohne Erfolg.
Die Formel in mein Makro eintragen macht ja kein Sinn, weil ich eine Berechnung auf einem anderen Tabellenblatt durchführe.

Kannst du mir sagen, wie dass mit dem INDIREKT gehen soll?
Antworten Top


Gehe zu:


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