Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Leere Zelle füllen, wenn Bedingung erfüllt

Leere Zelle füllen, wenn Bedingung erfüllt
26.06.2014 11:50:11
Jenny
Hallo alle zusammen,
ich hoffe jemand hat eine Idee für mich, wie ich das möglichst schnell hinbekomme?
Es geht um folgende Bedingung.
Wenn in 2 aufeinanderfolgenden Zeilen die Texte in den Spalten D und E identisch sind und in denselben Zeilen in Spalte F eine Zelle einen Text beinhaltet (egal in welcher der beiden) und die andere leer ist, hätte ich gerne, dass die andere Zelle in Spalte F mit demselben Text gefüllt wird.
Oder hoffentlich richtig mit Formel ausgedrückt
=ODER(UND(D1=D2;E1=E2;F1="";F2"");UND(D1=D2;E1=E2;F1"";F2=""))
das ganze auf alle Zeilen kopiert.
Dann soll in den Zellen in denen diese Formel WAHR ausgibt, die leere Zelle in Spalte F mit dem Text der vollen Zelle in Spalte F gefüllt werden.
Nur wie lässt sich das möglichst einfach auf 130.000 Zeilen anwenden?
Hat da jemand eine praktikable Lösung?
Danke und Gruß
Jenny

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
sorry hab noch was vergessen
26.06.2014 11:53:37
Jenny
sorry hab noch was vergessen.
Es kann auch sein, dass das selbe auch in weiteren Spalten, also G, H usw. auftreten kann, aber nicht in jeder Zeile.
Gruß
Jenny

AW: sorry hab noch was vergessen
26.06.2014 16:21:16
Carsten
Hallo Jenny,
ich weiß nicht genau ob ich deine Frage richtig verstanden hab, abe könntest du das ganze nicht in eine =Wenn() verpacken?
Also so in etwa:
=WENN(ODER(UND(D1=D2;E1=E2;F1="";F2"");UND(D1=D2;E1=E2;F1"";F2="")); #Wert den du eintragen möchtest;"")
Oder zweigeteilt:
=WENN(UND(D1=D2;E1=E2;F1="";F2"");F2;WENN(UND(D1=D2;E1=E2;F1"";F2=""));F1;);)
Klappt das?

Anzeige
AW: sorry hab noch was vergessen
26.06.2014 16:54:27
Jenny
naja bin zum Fußball schaun verabredet,
kann jetzt auf die Schnelle nur was ungetestetes schreiben.
Ziel ist nachher, das wenn in 2 aufeinanderfolgenden Zeilen der Text in Spalten D und E gleich ist, auch der Text in Spalte F identisch sein soll.
Das Problem ist jetzt, dass in Spalte F noch einige Texte fehlen, und die gesuchte Formel halt den Text aus der anderen Zeile, in der D und E identisch ist übernehmen soll, wobei das sowohl die erste als auch zweite Zeile sein kann.
In den Fällen, das bereits alle Zellen gefüllt sind, also kein Text fehlt oder in keinem der Zellen ein Text steht, soll das auch so bleiben.
Hoffe das war jetzt verständlicher
Gruß
Jenny

Anzeige
AW: sorry hab noch was vergessen
26.06.2014 22:20:32
Jenny
habe jetzt getestet, leider klappt es nicht ganz.
Der SInn ist ja, dass wenn D1=D2 und E1=E2 dann soll auch F1=F2 sein, wobei in Spalte F ein Teil der Texte fehlt. Was deine Formel nicht berücksichtigt ist, dass der Text der übernommen werden soll, damit ja auch in der vorherigen Zeile stehen kann, nicht nur in der nachfolgenden.
Wenn er in der nachfolgenden steht, scheint die Formel

=WENN(UND(D1=D2;E1=E2;H1="";H2"");H2;WENN(UND(D1=D2;E1=E2;H1"";H2="");H1;H1)) 
zu funktionieren (aus F ist durch meine Hilfsspalten zum testen H geworden.
Gruß
Jenny

Anzeige
AW: sorry hab noch was vergessen
27.06.2014 12:42:14
Robin
Hey Jenny,
ich wollt helfen, habe losgelegt, gemacht und getan.
Doch dann kam mir die Frage auf, wo fängt das ganze eigentlich an? (Hat "F1" einen Wert?)
Was ist wenn F1 und F2 leer sind oder irgendwo zwischendrin beide leer (F1000 & F1001) sind?
Weil wenn beide leer sind, würde das heißen das alle die danach kommen auf jeden Fall auch leer sind.
Bitte korrigiert mich, wenn ich Falsch liege oder eine Information überlesen habe.
Eventuell könntest du eine kleine Aufstellung von 10 Zeilen zeigen, wie das ganze Aussieht?
MfG Robin

Anzeige
AW: sorry hab noch was vergessen
27.06.2014 13:26:52
Jenny
Hallo Robin,
der Fall dass beide leer sind kommt vor, ist sogar die Regel. Aber in dem Fall würde meine Formel ja auch FALSCH ausgeben, da keine der beiden ODER Bedingungen erfüllt sind.
aber ich kann mir noch vorstellen das Ganze zu vereinfachen, warum bin ich da nicht früher draufgekommen, ich kann die Tabelle ja auch nach D,E,F sortieren, dann bräuchte ich nur noch eine Formel, die in etwa sowas macht
=WENN(UND(C1=C2;D1=D2);F1=F2;F1)
hoffe du verstehst was ich meine. Allerdings weiß ich nicht, wie ich F1=F2 schreiben muss, damit Excel damit was anfangen kann.
Gruß
Jenny

Anzeige
AW: sorry hab noch was vergessen
27.06.2014 14:21:15
Robin
Okay Jenny,
Ich poste einfach mal meinen VBA-Code den ich gebastelt habe, vielleicht hilft er dir ja weiter.
Fand es als VBA-Code wesentlich leichter. *Grins*
Sub pruefe()
Dim eins As String
Dim zwei As String
Dim drei As String
Dim vier As String
Dim i As Integer
Dim o As Integer
Dim x As Integer
Dim wahl1 As String
Dim wahl2 As String
Dim Check1 As Boolean
Dim Check2 As Boolean
Dim Check3 As Boolean
Check1 = False
Check2 = False
Check3 = False
i = 1
o = 2
x = 1
Do
eins = Cells(i, 3)
zwei = Cells(o, 3)
drei = Cells(i, 4)
vier = Cells(o, 4)
wahl1 = Cells(i, 5)
wahl2 = Cells(o, 5)
If eins = zwei Then
Check1 = True
If drei = vier Then
Check2 = True
If Check1 = Check2 Then
Check3 = True
If wahl1 = "" Then
wahl1 = wahl2
Cells(i, 5).Value = wahl1
Else
If wahl2 = "" Then
wahl2 = wahl1
Cells(o, 5).Value = wahl2
Else
End If
'Exit Sub
End If
Else
'Exit Sub
End If
Else
'Exit Sub
End If
Else
'Exit Sub
End If
On Error GoTo Beenden
i = i + 1
o = o + 1
x = x + 1
Loop Until x > 130000
Beenden:
Exit Sub
End Sub
Ich hoffe du verstehst den Code und weist wo du es eventuell anpassen musst, ansonsten raus damit steh dir gern zur Verfügung. (Falls er dir überhaupt weiter hilft.)
Tut mir leid, aber das wäre einfacher mit einem kleinen Beispiel gewesen, für mich zumindest, da das alles so wirr-warr klingt. *smile*
MfG Robin

Anzeige
AW: sorry hab noch was vergessen
27.06.2014 18:28:46
Jenny
Hallo Robin,
in der Tabelle läft im Moment ein anderes Makro, dessen Ausführen mehrere Stunden dauert, daher konnt ich dir keinen Auszug schicken.
stell dir einfach das Ganze so vor,
in Spalte D stehen Vornamen, in Spalte E Nachnamen, in Spalte F ff. Notizen zu den Personen, wobei nur in ca. 30% der Zeilen überhaupt Notizen stehen.
Jetzt sind durch kopieren neue Einträge in Spalte D und E dazugekommen, einige aber mit Leuten, die bereits in der Liste stehen.
Ziel des Makros soll dann sein, dass die Notizen aus den alten Einträgen zu den Personen auf die neuen Einträge zu den Personen übertragen wird. Daher auch mein Nachtrag, dass es auch die weiteren Spalten nach F betreffen kann.
Hoffe es war etwas verständlicher
Jenny
Wenn das Makro mal fertig ist, kümmere ich mich auch mal um eine Beispieldatei
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Leere Zelle füllen, wenn Bedingung erfüllt


Schritt-für-Schritt-Anleitung

Um eine Excel-Zelle automatisch auszufüllen, wenn eine bestimmte Bedingung erfüllt ist, kannst Du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Daten vorbereiten: Stelle sicher, dass Deine Daten in den Spalten D, E und F korrekt angeordnet sind.
  2. Formel eingeben: Klicke auf die erste Zelle in Spalte F, in der Du die Formel anwenden möchtest. Gib die folgende Formel ein:
    =WENN(UND(D1=D2;E1=E2;F1="";F2<>"");F2;WENN(UND(D1=D2;E1=E2;F1<>"";F2="");F1;""))

    Diese Formel füllt die leere Zelle in Spalte F mit dem Wert der anderen Zelle in der gleichen Zeile, wenn die Bedingungen erfüllt sind.

  3. Formel nach unten kopieren: Ziehe das kleine Quadrat in der unteren rechten Ecke der Zelle nach unten, um die Formel auf alle relevanten Zeilen anzuwenden.
  4. Überprüfen: Stelle sicher, dass die Formel in allen relevanten Zeilen korrekt funktioniert.

Häufige Fehler und Lösungen

  • Formel gibt einen Fehler aus: Überprüfe, ob alle Zellen, die in der Formel verwendet werden, tatsächlich Werte enthalten. Die Formel kann nur dann richtig arbeiten, wenn die angegebenen Zellen gefüllt sind.
  • Leere Zellen füllen nicht: Stelle sicher, dass die Bedingungen in der Formel korrekt sind. Die Formel funktioniert nur, wenn die Zellen in D und E identisch sind.
  • Formel funktioniert nicht für alle Zeilen: Wenn Du eine große Excel-Tabelle hast, kann es hilfreich sein, die Daten vorher zu sortieren, um die Suche nach doppelten Einträgen zu erleichtern.

Alternative Methoden

Eine alternative Methode, um leere Zellen in Excel zu füllen, während Bedingungen erfüllt sind, ist die Verwendung von VBA. Hier ist ein Beispiel für einen einfachen VBA-Code, der dies automatisiert:

Sub FuelleLeereZellen()
    Dim i As Long
    Dim letzteZeile As Long
    letzteZeile = Cells(Rows.Count, 4).End(xlUp).Row

    For i = 1 To letzteZeile - 1
        If Cells(i, 4).Value = Cells(i + 1, 4).Value And Cells(i, 5).Value = "" Then
            Cells(i, 5).Value = Cells(i + 1, 5).Value
        End If
    Next i
End Sub

Dieser Code füllt die leeren Zellen automatisch, wenn die Bedingungen erfüllt sind, und ist besonders nützlich für große Datenmengen.


Praktische Beispiele

  1. Beispiel für das automatische Ausfüllen:

    • Angenommen, in Spalte D stehen Vornamen und in Spalte E Nachnamen. In Spalte F sind Notizen vorhanden, aber nicht alle Zellen sind gefüllt. Du kannst die oben genannte Formel verwenden, um sicherzustellen, dass alle Notizen in Spalte F übereinstimmen, wenn die Vornamen und Nachnamen in D und E identisch sind.
  2. Beispiel für das Füllen von leeren Zellen mit vorherigem Wert:

    • Wenn Du leere Zellen mit dem vorherigen Wert füllen möchtest, kannst Du die folgende Formel verwenden:
      =WENN(A1="";A2;A1)

      Diese Formel prüft, ob A1 leer ist und füllt es gegebenenfalls mit dem Wert aus A2.


Tipps für Profis

  • Bedingte Formatierung: Nutze die bedingte Formatierung, um Zellen hervorzuheben, die leer sind oder nicht den gewünschten Wert haben. Dies kann helfen, Fehler schnell zu identifizieren.
  • Datenvalidierung: Verwende die Datenvalidierung, um sicherzustellen, dass in bestimmten Zellen nur gültige Werte eingegeben werden, bevor Du die Zellen füllst.
  • Makros speichern: Wenn Du regelmäßig mit großen Datenmengen arbeitest, speichere Deinen VBA-Code als Makro, um Zeit zu sparen.

FAQ: Häufige Fragen

1. Wie kann ich leere Zellen mit 0 füllen?
Verwende die Formel =WENN(A1="";0;A1), um leere Zellen mit 0 zu füllen.

2. Was passiert, wenn beide Zellen in der Bedingung leer sind?
Die Formel gibt in diesem Fall einen leeren Wert zurück, da keine Bedingung erfüllt ist.

3. Wie kann ich mehrere Spalten gleichzeitig füllen?
Du kannst die Formel erweitern oder VBA verwenden, um mehrere Spalten gleichzeitig zu bearbeiten.

4. Funktioniert das auch in Excel 365?
Ja, die genannten Formeln und Methoden funktionieren auch in Excel 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige