Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn "Text" dann Zeileninhalt auf Wert 0 setzen

Wenn "Text" dann Zeileninhalt auf Wert 0 setzen
onkelbobby
Hallo,
ich habe per Makro eine umgangreiche Summenprodukt-Formel, die mir aus den Spalten "AF" von verschiedenen Tabellen eine Summe ermittelt, wenn in einer anderen Spalte ein bestimmter Monat steht.
Diese Formel funktioniert soweit ganz gut, solange kein Text in dieser Spalte "AF" eingetragen ist.
Dann kommt die Fehlermeldung #WERT!
Die Eingabe von Text soll auch weiterhin möglich sein. In solchen Fällen soll jedoch dieser Text ignoriert werden. Ich stelle mir das so vor, dass dem eigentlichen Makro eine Überprüfung der Spalte auf "Text" vorausgeht und dieser Text dann innerhalb des Makros (ohne Überschreiben der eigentlichen Tabelle) auf den Wert 0 gesetzt wird.
Ich stelle mir das so herum einfacher vor, als direkt in der (funktionierenden) Formel die Überprüfung einzubauen.
Nur mal zur Info hier eine der eingabauten Formeln:
=(SUMMENPRODUKT((MONAT(Tabelle2!$N$4:$N$9999)=A" & loZeile & ")*(JAHR(Tabelle2!$N$4:$N$9999)=B35) *Tabelle2!$AH$4:$AH$9999))+(SUMMENPRODUKT((MONAT(Tabelle1!$N$4:$N$9999)=A" & loZeile & ") *(JAHR(Tabelle1!$N$4:$N$9999)=B35)*Tabelle1!$AH$4:$AH$9999))
Danke für Eure Tipps!
Anzeige
AW: Wenn "Text" dann Zeileninhalt auf Wert 0 setzen
03.05.2010 12:05:31
Klaus
Moin Onkel,
ich stelle mir die Überprüfung einfacher vor. Bau einfach
[...]*ISTZAHL(Tabelle1!$N$4:$N$9999))*ISTZAHL(Tabelle1!$AH$4:$AH$9999)[...]
in die Formel ein, dann sollte er alle Texte ignorieren.
Grüße,
Klaus M.vdT.
(P.S.: Hier im Forum sprechen wir uns mit Vornamen an, Nicknames sind eher ungern gesehen)
Anzeige
AW: Wenn "Text" dann Zeileninhalt auf Wert 0 setzen
03.05.2010 13:42:58
onkelbobby
Danke für den Tip!
Hab das mal so umgeabaut.
Makro funktioniert auch. Jedoch stimmt das Ergebnis nicht.
Es werden nur einzelne Daten summiert. Keine Ahnung warum und welche. Habe nachträglich auch noch mal die komplette Spalte als Zahlen formatiert. Leider passts trotzdem nicht.
Danke für weitere Tips.
Robert
Anzeige
AW: Wenn "Text" dann Zeileninhalt auf Wert 0 setzen
03.05.2010 14:21:31
onkelbobby
Nochmal ich:
Habe jetzt festgestellt, dass ich wohl die Formel fasch angewandt habe.
Jetzt wird mir nämlich die Anzahl der Einträge mit Zahlenwerten angezeigt. Wenn ich einen Eintrag lösche, erhöht sich der Wert um 1 (unabhängig vom Zellinhalt).
Hier mal die abgänderte Formel:
Cells(loZeile, 4).FormulaLocal = "=(SUMMENPRODUKT((MONAT(Tabelle1!$N$4:$N$9999)=A" & loZeile & ")*(JAHR(Tabelle1!$N$4:$N$9999)=B35)*ISTZAHL(Tabelle1!$AH$4:$AH$9999)))+(SUMMENPRODUKT((MONAT(Tabelle2!$N$4:$N$9999)=A" & loZeile & ")*(JAHR(Tabelle2!$N$4:$N$9999)=B35)*ISTZAHL(Tabelle2!$AH$4:$AH$9999)))"
Wie muss ich das abändern, dass, mir wieder Summen gebildet werden und nicht die Einträge zusammen gezählt werden?
Danke!
Anzeige
AW: Wenn "Text" dann Zeileninhalt auf Wert 0 setzen
03.05.2010 14:42:29
Klaus
Moin Robert,
deine Formel ist etwas zu lang, um mal eben in einem Rohling nachgebaut zu werden. Lad doch mal eine Beispieldatei hoch, in der auch die Wunschlösung steht. Dann kann deine Formel und / oder Makrolösung gleich am Objekt angepasst werden.
Grüße,
Klaus M.vdT.
AW: Wenn "Text" dann Zeileninhalt auf Wert 0 setzen
03.05.2010 15:33:28
onkelbobby
Hallo Klaus,
habe mal ne Testdatei gebastelt:
https://www.herber.de/bbs/user/69370.xls
Werte aus Tabelle 1 und Tabelle 2 werden per Makro in Tabelle 3 ausgelesen. Die gewünschten Werte werden monatsweise summiert.
Klappt soweit. Wenn jedoch statt einer Zahl ein Text eingegeben wird, gehts nicht mehr.
Danke für weitere Hilfe!
Robert
Anzeige
AW: Wenn "Text" dann Zeileninhalt auf Wert 0 setzen
05.05.2010 10:01:10
hary
Hallo Robert
mal ein anderer Weg. Mit Hilfsspalte!
und dann wie hier auf diese mit summenprodukt greifen. Waere glaube ich der einfachste Weg.
Tabelle1
 ABC
12,00 €16.05.2008 2,00 €
20,00 €17.05.2009 h
315,00 €12.04.2010 15,00 €
416,00 €15.04.2010 16,00 €

verwendete Formeln
Zelle Formel
A1 =WENN(ISTTEXT(C1);0;C1)
A2 =WENN(ISTTEXT(C2);0;C2)
A3 =WENN(ISTTEXT(C3);0;C3)
A4 =WENN(ISTTEXT(C4);0;C4)

Tabellendarstellung in Foren


gruss hary
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Text in Excel ignorieren und auf Wert 0 setzen


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe zu der Tabelle, in der du die Berechnung durchführen möchtest.
  2. Identifiziere die Spalte, die du auf Text überprüfen möchtest. In diesem Beispiel nutzen wir die Spalte "AF".
  3. Füge eine Hilfsspalte hinzu, um die Zellen zu überprüfen. Angenommen, die Hilfsspalte ist "AG".
  4. Gib in die erste Zelle der Hilfsspalte (z.B. AG1) die folgende Formel ein:
    =WENN(ISTTEXT(AF1); 0; AF1)

    Diese Formel prüft, ob der Inhalt der Zelle AF1 Text ist. Wenn ja, wird der Wert auf 0 gesetzt; andernfalls bleibt der Wert unverändert.

  5. Ziehe die Formel nach unten, um sie auf die gesamte Spalte anzuwenden.
  6. Verwende die Hilfsspalte in deiner Berechnung, anstatt direkt auf die Spalte "AF" zuzugreifen. So wird der Text ignoriert.

Häufige Fehler und Lösungen

  • Fehler: #WERT!

    • Lösung: Stelle sicher, dass du die ISTTEXT-Funktion richtig verwendest. Diese sollte in Kombination mit der WENN-Funktion funktionieren.
  • Problem: Falsche Summen

    • Wenn du nur die Anzahl der Einträge statt der Summe erhältst, überprüfe deine SUMMENPRODUKT-Formel und stelle sicher, dass du die Hilfsspalte korrekt verwendest.

Alternative Methoden

  1. Verwendung von Makros:

    • Du kannst ein VBA-Makro erstellen, welches automatisch alle Texte in der gewünschten Spalte durch 0 ersetzt, bevor die Berechnung durchgeführt wird. Hier ein einfaches Beispiel:
      Sub TextZuNull()
      Dim cell As Range
      For Each cell In Range("AF1:AF9999")
         If Application.WorksheetFunction.IsText(cell) Then
             cell.Value = 0
         End If
      Next cell
      End Sub
  2. Formel direkt in die Berechnung einbauen:

    • Du könntest auch die ISTTEXT-Funktion direkt in deine Berechnungsformel einfügen, um den Text zu ignorieren, anstatt eine Hilfsspalte zu verwenden.

Praktische Beispiele

  • Beispiel 1: Summe berechnen, während Text ignoriert wird.

    =SUMME(WENN(ISTTEXT(AF1:AF9999); 0; AF1:AF9999))

    Beachte, dass diese Formel als Matrixformel eingegeben werden muss (Strg + Shift + Enter).

  • Beispiel 2: Summenprodukt verwenden mit Textprüfung.

    =SUMMENPRODUKT((MONAT(N1:N9999)=A1)*(JAHR(N1:N9999)=B1)*(WENN(ISTTEXT(AH1:AH9999); 0; AH1:AH9999)))

Tipps für Profis

  • Vermeide #DIV/0! Fehler, indem du WENNFEHLER verwendest:
    =WENNFEHLER(deine_formel; 0)
  • Formatierung: Achte darauf, dass alle Zellen, die du summierst, als Zahlen formatiert sind, um unerwartete Ergebnisse zu vermeiden.
  • Testen: Teste deine Formeln mit unterschiedlichen Daten, um sicherzustellen, dass sie auch bei unerwartetem Inhalt korrekt funktionieren.

FAQ: Häufige Fragen

1. Wie kann ich Text in einer bestimmten Spalte ignorieren und 0 setzen? Du kannst die WENN- und ISTTEXT-Funktionen verwenden, um sicherzustellen, dass Text in der Spalte ignoriert wird. Setze 0 ein, wenn der Inhalt Text ist.

2. Funktioniert das auch in älteren Excel-Versionen? Ja, die beschriebenen Funktionen sind in den meisten Excel-Versionen verfügbar, jedoch kann die Nutzung von VBA-Makros je nach Version variieren.

3. Was mache ich, wenn ich nur in einer Zeile überprüfen möchte? Du kannst den Zellbereich in der Formel anpassen. Anstatt eine ganze Spalte zu prüfen, kannst du eine spezifische Zelle oder Zeile angeben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige