k0rki1985
Goto Top

Formel in Zelle zwar überschreiben aber nicht löschen!

Hallo Leute!

Ich habe ein Problem. Ich habe eine Excel Tabelle die sich per SVERWEIS Daten aus einer anderen Tabelle holt. Es geht um Produktionsaufträge.

Beispiel:

Ich habe bei jedem Produktionsauftrag eine Artikelnummer. Nun sind auf dem Produktionsauftrag immer ein paar Daten gleich, welche dann automatisch in die Tabelle eingefügt werden. Es kann aber vorkommen das es für Artikel 720 eine Rezepturnummer gibt, aber für Artikel 820 nicht. Dann wird ja eine Null in das Feld geschrieben. Wenn aber der Artikel 820, für den keine Rezepturnummer hinterlegt ist, eingegeben wird, soll für die Rezepturnummer etwas "per Hand" eingegebene werden, ohne das dies die Formel in der Zelle zerstört. Doch wenn man etwas eintragen möchte, verschwindet damit auch automatisch die Formel. Wie kann ich hier vorgehen ?

Vielen Dank

Content-ID: 73307

Url: https://administrator.de/contentid/73307

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

bastla
bastla 12.11.2007 um 10:46:47 Uhr
Goto Top
Hallo k0rki1985!

Du könntest eine zusätzliche Spalte für diesen Zweck vorsehen und den SVERWEIS nur verwenden, wenn in dieser Spalte kein Wert steht - Beispiel:
In Zelle D5 steht der SVERWEIS, welcher das Suchkriterium aus Zelle A5 bezieht:
=SVERWEIS($A5;Tabelle2!$A$2:$L$395;3)
Wenn Du für das Kriterium in A1 kein passendes Ergebnis erhältst und daher selbst einen Wert eingeben musst, schreibst Du diesen in C5. Die Formel in D5 müsste dann so aussehen:
=WENN(C5<>"";C5;SVERWEIS($A5;Tabelle2!$A$2:$L$395;3))  
Damit gibst Du einem Eintrag in C5 Vorrang gegenüber dem Wert, den der SVERWEIS liefert (oder eben nicht liefert) und musst die Formel auch nachträglich nicht verändern/überschreiben.

Alternativ dazu kannst Du auch zB nur im Fehlerfall (also vermutlich #NV, da nicht gefunden) einen Wert aus C5 holen:
=WENN(ISTFEHLER(SVERWEIS($A5;Tabelle2!$A$2:$L$395;3));C5;SVERWEIS($A5;Tabelle2!$A$2:$L$395;3))

Grüße
bastla
k0rki1985
k0rki1985 12.11.2007 um 12:31:30 Uhr
Goto Top
Hallo,

das Problem ist das sich in der Zelle eine Formel befindet die ja abhängig von ihrer Artikelnummer die Daten einträgt (oder eben nicht wenn keine Daten hinterlegt sind)

Formel lautet z.B für C20 (Wenn in C8 eine Artikelnummer eingetragen ist:

=WENN($C8<>"";SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0);"")

Wenn jetzt eine Null eintragung gemacht wird, soll man manuell etwas nachtragen können.
Aber Die Formel steht ja so oder so in dem Feld. Bräuchte also eine Formel die in einem anderen Feld steht aber trotzdem auf das Feld C20 zugreift.
bastla
bastla 12.11.2007 um 13:35:54 Uhr
Goto Top
Hallo k0rki1985!

Wenn ich Dich richtig verstehe, sollte es so gehen:
=WENN($C8<>"";WENN(SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0)<>0;SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0);C7);"")  
Du kannst also in C7 (oder eine andere freie Zelle) einen Wert eintragen, der nur dann verwendet wird, wenn zwar eine Artikelnummer angegeben wurde, der SVERWEIS aber das Ergebnis 0 (oder, je nach den Daten in Spalte F der Artikeltabelle, ev auch "") liefert.

Grüße
bastla
k0rki1985
k0rki1985 12.11.2007 um 13:56:18 Uhr
Goto Top
Also das sieht schon ganz gut aus, nur ich möchte meine Eintragung ja nicht in C7, sondern in genau dem Feld machen in dem dann auch die Formel steht... ich will sozusagen eine Eintragung in einer Zelle machen aber dabei die Formel die darin steht nicht überschreiben bzw. löschen.
bastla
bastla 12.11.2007 um 14:02:16 Uhr
Goto Top
Hallo k0rki1985!

ich will sozusagen eine Eintragung in einer Zelle machen aber dabei die Formel die darin steht nicht überschreiben bzw. löschen.
Was ich schon alles wollte, zB damals ... aber lassen wir das.

Ich fürchte sehr, dass es beim Wollen bleiben wird, oder anders ausgedrückt: Vor der Einführung der "schizophrenen Zelle" (vielleicht schon mit Excel 2013 face-wink) sehe ich keine Möglichkeit, einen Wert und eine Formel in der gleichen Zelle unterzubringen - sorry.

Grüße
bastla
k0rki1985
k0rki1985 12.11.2007 um 15:45:36 Uhr
Goto Top
hmm mist, ich könnte das ganze auch auf dein vorgeschlagene Art und Weise lösen, doch sollte der Produktionsauftrag so einfach wie möglich gehalten werden.... hat man nicht mit Makros und einer eventuellen if Abfrage das Problem zu umgehen ?
Grüße aus dem stürmischen Norden
k0rki1985
k0rki1985 13.11.2007 um 08:22:11 Uhr
Goto Top
Hallo Bastla!

Ich fürchte sehr, dass es beim Wollen
bleiben wird, oder anders ausgedrückt:
Vor der Einführung der
"schizophrenen Zelle" (vielleicht
schon mit Excel 2013 face-wink) sehe ich keine
Möglichkeit, einen Wert und eine Formel
in der gleichen Zelle unterzubringen -
sorry.

Ich hab jetzt noch einmal ne Nacht drüber geschlafen und sitze noch immer vor dem selben Problem. Eine Formel und einen Wert in der gleich Zelle unterzubringen, ist also unmöglich...
Aber es muss doch möglich sein, z.B. in der Zelle G8 eine Formel zu hinterlegen, welche mit einer Abfrage oder was auch immer, prüft, ob beispielsweise in C8 eine Artikelnummer hinterlegt ist, oder nicht und im Falle des Falles entweder die Daten nimmt, die für die Artikelnummer hinterlegt sind, oder eben garnichts und sie dann in das Feld schreibt das eben von der Formel in G8 gesteuert wird und man am Ende selbst etwas eintragen kann.

Ich möchte sozusagen die Zelle in der die Formel bisher stand, von einer anderen Zelle aus steuern, das muss doch irgendwie gehn ??

Noch einfacher ausgedrückt:

In G8 steht eine Formel die sagt:
- Wenn in C8 Artikelnummer, dann nimm hinterlegte Daten aus Tabelle Artikeldaten und trage sie in Feld C16
- Wenn in C8 Artikelnummer, für die keine Daten in Tabelle Artikeldaten hinterlegt sind, dann schreibe in Feld C16 nichts bzw. 0


Hoffe ich konnte erklären was ich will bzw. meine =) ist immer etwas scher zu erklären...

Vielen Dank schonmal!
bastla
bastla 13.11.2007 um 08:59:19 Uhr
Goto Top
Hallo k0rki!

Wenn Du nur erreichen wolltest, dass in C16 nichts zu sehen ist, wenn
- in C8 keine Artikelnummer angegeben ist oder
- für die in C8 angegebene Artikelnummer kein Wert existiert
genügt (für C16)
=WENN($C8<>"";WENN(SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0)<>0;SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0);"");"")  
(oder auch einfach ein benutzerdefiniertes Zahlenformat, mit dem die Anzeige von Null-Werten unterbunden wird).

Soll allerdings ein "Ersatz-Wert" verwendet werden, so muss dieser ja irgendwo hinterlegt sein (etwa in G8) - damit wären wir wieder bei
=WENN($C8<>"";WENN(SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0)<>0;SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0);G8);"")  
Den Ersatzwert kannst Du nicht in C16 schreiben, weil dann die Formel überschrieben wird.

Grüße
bastla
k0rki1985
k0rki1985 13.11.2007 um 09:07:09 Uhr
Goto Top
Den Ersatzwert kannst Du nicht
in C16 schreiben, weil dann die Formel
überschrieben wird.

Genau deswegen will ich die Formel aus C16 ja auslagern... kann ich nicht einfach die Formel die in C16 steht in G8 schreiben ? Dann würde in C16 ja nichts mehr stehen und ich könnte dort meine Eintragungen machen.

Es muss doch irgendwie gehen =)
k0rki1985
k0rki1985 19.11.2007 um 15:36:31 Uhr
Goto Top
Wenn ich Dich richtig verstehe, sollte es so
gehen:
=WENN($C8<>"";WENN(SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0)<>0;SVERWEIS($C8;Artikeldaten!$A$2:$R$29;6;0);C7);"")  
> 
Du kannst also in C7 (oder eine
andere freie Zelle) einen Wert eintragen, der
nur dann verwendet wird, wenn zwar eine
Artikelnummer angegeben wurde, der SVERWEIS
aber das Ergebnis 0 (oder, je nach den Daten
in Spalte F der Artikeltabelle, ev auch
"") liefert.

Also gut, da keine weiteren Antworten auf meine Fragen gekommen sind sehe ich ein, mein Wunsch wird sich erst ab Office 2013 verwirklichen lassen face-wink Aber zurück zu der Formel die du mir bereits gegeben hast, die ist nämlich soweit ja super und ich könnte das Problem damit, zwar etwas unschön, aber dennoch umgehen.

Ist es möglich das Feld in dem der Wert eingetragen wird im oberen Beispiel ja Feld C7, in die Tabelle Artikeldaten zu packen, und da dann eine Eintragung zu machen die dann in die Tabelle Produktionsauftrag geschrieben wird (in das Feld in der halt die Formel steht)? Wie müsste die Formel abgeändert werden ?

Vielen Dank =)

P.S ich weiß ich fange allmählich an zu nerven face-wink aber will das endlich vom Tisch haben
bastla
bastla 19.11.2007 um 15:44:19 Uhr
Goto Top
Hallo k0rki1985!

Du müsstest doch eigentlich nur den Zellbezug anpassen / ergänzen und statt "C7" dann eben zB "Artikeldaten!C7" verwenden.

Grüße
bastla
k0rki1985
k0rki1985 19.11.2007 um 16:05:51 Uhr
Goto Top
super, klappt alles. Nur ein Problem habe ich jetzt noch.
Wenn ich irgendwelche Änderungen in den Artikelinformationen mache, dann nimmt die Haupttabelle diese Änderungen nicht automatisch an. Erst wenn ich in das Feld die Bezugsformel neu eingetragen habe und den Tabellenbezug neu hergestellt habe übernimmt er die richtigen Informationen, kann man dies nicht irgendwie automatisieren?
Auch beim Schließen und erneuten Öffnen der Tabelle fragt er die Tabellenbezüge jedes mal neu ab...
bastla
bastla 19.11.2007 um 17:54:48 Uhr
Goto Top
Hallo k0rki1985!

Das hört sich fast so an, als ob die automatische Berechnung abgeschaltet wäre (Extras / Optionen / Berechnung / Berechnung / Automatisch).

Auf jeden Fall sollte es aber genügen, mit der Taste F9 eine Neuberechnung zu starten.

Grüße
bastla
k0rki1985
k0rki1985 20.11.2007 um 08:38:05 Uhr
Goto Top
also alles kontrolliert und alles richtig eingestellt automatische Berechnung ist eingeschaltet. Und auch nach hundert mal F9 drücken tut sich nichts (F-Tasten sind eingeschaltet face-wink )! Erst wenn ich die Datei schließe und wieder neu öffne, übernimmt Tabelle 1 die Änderungen in Tabelle 2 und lässt mich jedes mal den Tabellenbezug manuell neu herstellen :/ wenn ich dann Änderungen in Tabelle 2 mache, übernimmt Tabelle 1 gornix...auch nich nach drücken von F9. Erst wenn die Datei geöffnet und wieder geschloßen wird.... an der Formel kann es nicht liegen oder...?

=WENN($C8<>"";SVERWEIS(C8;'[Artikeldaten]Artikeldaten '!$A$2:$R$29;17;0);"")

Die Datei heißt "Kanister.xls"
Die erste Tabelle "Produktionsauftrag Kanister"
und die zweite Tabelle "Artikeldaten"

Wenn ich dann die Datei neu öffne fragt er mich ob ich Änderungen in der Datei übernehmen will --> ich klicke auf "Ja" und muss dann über den sich aufpoppenden Dateibrowser, Kanister.xls eintragen, Enter drücken und dann erst übernimmt er die Änderungen.

?!?
bastla
bastla 20.11.2007 um 19:02:00 Uhr
Goto Top
Hallo k0rki1985!

Die Formel müsste so aussehen:
=WENN($C8<>"";SVERWEIS($C8;Artikeldaten!$A$2:$R$29;17;0);"")  
Die Schreibweise mit eckigen Klammern wird für die Angabe von Bezügen auf andere Mappen (Dateien) verwendet - da es eine Datei "Artikeldaten" nicht gibt, erscheint eben die Aufforderung, eine bestehende Datei auszuwählen.

Außerdem ist mir in der Formel noch ein Leerzeichen nach dem Tabellennamen aufgefallen; ich hoffe, dass es das nicht wirklich gibt - falls doch, solltest Du es entfernen (dazu den Namen nach Doppelklick auf das Blattregister bearbeiten).

Grüße
bastla
k0rki1985
k0rki1985 22.11.2007 um 08:16:21 Uhr
Goto Top
Die Formel müsste so aussehen:
=WENN($C8<>"";SVERWEIS($C8;Artikeldaten!$A$2:$R$29;17;0);"")  
> 

So schreibe ich die Formel da auch jedes mal rein. Aber sobald ich Enter drücke fragt er mich wieder nach der Tabelle Artikeldaten. Ich sag ihm die Tabelle heißt kanister.xls und dann ändert er die Formel wieder ab in dem er eckige Klammern reinschreibt... bin ich zu blöd oder was face-wink ?!


Außerdem ist mir in der Formel noch
ein Leerzeichen nach dem Tabellennamen
aufgefallen; ich hoffe, dass es das nicht
wirklich gibt - falls doch, solltest Du es
entfernen (dazu den Namen nach Doppelklick
auf das Blattregister bearbeiten).

Was meinst du mit Name bearbeiten, in was soll es umbenannt werden?

viele Grüße
k0rki
bastla
bastla 22.11.2007 um 08:47:08 Uhr
Goto Top
Hallo k0rki1985!

Versuch einmal, die Formel so zu erstellen, dass Du an der Position, wo Du die Daten aus dem anderen Blatt ("Artikeldaten!$A$2:$R$29") benötigst, diese dort einfach mit der Maus markierst, F4 zum Absolutsetzen drückst und den Rest der Formel eintippst.

Als weitere Möglichkeit könntest Du den entsprechenden Bereich mit einem Namen versehen und diesen Namen in der Formel verwenden (bei der Eingabe der Formel zur Sicherheit den Namen mittels F3 aus der Liste wählen).
Was meinst du mit Name bearbeiten, in was soll es umbenannt werden?
Damit ist gemeint, unten im Blattregister den Tabellennamen doppelt anzuklicken und einen Namen ohne Leerzeichen zu vergeben.

Grüße
bastla
k0rki1985
k0rki1985 22.11.2007 um 09:52:00 Uhr
Goto Top
Versuch einmal, die Formel so zu erstellen,
dass Du an der Position, wo Du die Daten aus
dem anderen Blatt
("Artikeldaten!$A$2:$R$29")
benötigst, diese dort einfach mit der
Maus markierst, F4 zum Absolutsetzen
drückst und den Rest der Formel
eintippst.

Also erstmal DANKE !! Du bist echt mein Excel-Gott, denn es hat endlich geklappt. Mit dieser Methode hat es geklappt. Falls es dich interessiert, obwohl ich alles per Hand eingegeben habe, das Tabellenblatt richtig benannt ist (ohne Leerzeichen) und ich selbst den Bereich in Artikeldaten markiert habe, generiert der Computer die Formel folgendermaßen um:

=WENN($C8<>"";SVERWEIS($C8;'Artikeldaten '!A1:R29;10;0);"")

Aber nun geht's, keine lästigen Abfragen mehr. Also Problem gelöst!
Vielen Dank!!