Office - Word, Excel und Co. 9.751 Themen, 41.564 Beiträge

Excel 2010: Zellen mit Wert 0 löschen

Olaf19 / 9 Antworten / Baumansicht Nickles

Hallo zusammen!

Neulich wollte ich in einer Excel-Tabelle mit 24 Spalten alle Zellen löschen, die den Wert #NV (als Ergebnis eines erfolglos suchenden SVERWEISes) oder den Wert 0 enthalten. Nach Beseitigung aller Formeln über "Inhalte einfügen" waren die NVs mit einem einfachen "Alle ersetzen" schnell entfernt.

Etwas Kopfzerbrechen bereiteten mir jedoch die Nullen. Wenn man nämlich "0" mittels "alle ersetzen" auf eine Leerzelle ändert, werden nicht nur alle 0-Werte ersetzt, sondern auch alle Nullen, die sich mittendrin in einer Zahl befinden. Aus 1005 wird dann also 15, und das ist natürlich Unsinn.

Also musst ich Spalte für Spalte einen Filter auf den Wert Null setzen und jede Spalte einzeln löschen.

Wäre das nicht auch einfacher gegangen? Die Tabelle hätte ja genau so gut 500 Spalten haben können...

CU
Olaf

Die Welt ist ein Jammertal ohne Musik. Doch zum Glueck gab es Bach, Beethoven, Haendel und Goethe (Helge Schneider)
bei Antwort benachrichtigen
gelöscht_265507 Olaf19 „Excel 2010: Zellen mit Wert 0 löschen“
Optionen
bei Antwort benachrichtigen
mawe2 Olaf19 „Excel 2010: Zellen mit Wert 0 löschen“
Optionen

Hallo Olaf,

Du musst bei "Suchen und Ersetzen" die Option "Gesamten Zellinhalt vergleichen" aktivieren:



Gruß, mawe2
bei Antwort benachrichtigen
neanderix Olaf19 „Excel 2010: Zellen mit Wert 0 löschen“
Optionen

Entweder die Lösung von ma-we oder du packst deinen SVERWEIS nächstens in einen =WENN() Vergleich:

=WENN(=SVERWEIS(..)=0;"";=SVERWEIS(..))

Nachteil: du musst halt die SVERWEIS-Formel zweimal schreiben: einmal im Bedingungsteil der =WENN() funktion und einmal in einem der Ergebniszweige.

Du könntest so auch gleich den #NV Fehler abfrühstücken:

=WENN(=SVERWEIS(..)=0;"";WENN(ISTNV(=SVERWEIS(..));"";=SVERWEIS(..)))

Die Formel unterdrückt sowohl eine einzelne 0 als auch #NV - in beiden Fällen enthält die Zelle als Ergebnis den Leerstring "".

Volker

Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen
Olaf19 neanderix „Entweder die Lösung von ma-we oder du packst deinen SVERWEIS...“
Optionen

Danke für alle Lösungsansätze!

Die Idee mit der WENN-Bedingung hatte ich auch schon, ist mir aber viel zu riskant - der SVERWEIS müsste dann von Spalte zu Spalte zweimal angepasst werden, und dabei schleichen sich leicht Flüchtigkeitsfehler ein, jedenfalls dann, wenn man es 24x macht...

IT-Loks Idee mit dem Ausblenden ist sicherlich auch ganz gut, ist mir aber insofern nicht ganz geheuer, als die Zellen dann ja nicht wirklich gelöscht werden - sie sehen nur gelöscht aus. In der Praxis ließe sich aber auch dieser Weg gehen.

Bis jetzt gefällt mir mawes Idee am besten.

THX
Olaf

Die Welt ist ein Jammertal ohne Musik. Doch zum Glueck gab es Bach, Beethoven, Haendel und Goethe (Helge Schneider)
bei Antwort benachrichtigen
mumpel1 Olaf19 „Danke für alle Lösungsansätze! Die Idee mit der...“
Optionen

Hallo!

Wie wäre es mit einer VBA-Lösung?



Public Sub LöscheAlleNullen()
Dim Zelle As Object

For Each Zelle In ActiveSheet.UsedRange
    If Zelle.Value = "0" Then Zelle.ClearContents
Next Zelle

End Sub


Gruß, René
bei Antwort benachrichtigen
mumpel1 Nachtrag zu: „Hallo! Wie wäre es mit einer VBA-Lösung? Public Sub...“
Optionen

Hier eine Anpassung. Damit kannst Du auch gleich das "'#NV" löschen.

Public Sub LöscheAlleNullen()
Dim Zelle As Range

On Error Resume Next
For Each Zelle In ActiveSheet.UsedRange
    If Zelle.Value = "0" Or Zelle.Text = "#NV" Then Zelle.ClearContents
Next Zelle
On Error GoTo 0

End Sub
bei Antwort benachrichtigen
Olaf19 mumpel1 „Hier eine Anpassung. Damit kannst Du auch gleich das "'#NV"...“
Optionen

Hallo René,

Hab vielen lieben Dank für deine Hilfsbereitschaft. Sorry für die späte Antwort, komme gerade aus dem Urlaub. Ausprobieren kann ich deine Tipps erst nächste Woche, da ich zuhause nur LibreOffice nutze.

Wahrscheinlich ist Mawes Tipp in der Praxis das Einfachste, zumal der Replace der NVs eine Sache von wenigen Sekunden ist. Trotzdem bin ich immer interessiert daran, dazuzulernen, speziell da ich Visual Basic nur in groben Zügen kenne.

THX
Olaf

Die Welt ist ein Jammertal ohne Musik. Doch zum Glueck gab es Bach, Beethoven, Haendel und Goethe (Helge Schneider)
bei Antwort benachrichtigen
Borlander Olaf19 „Danke für alle Lösungsansätze! Die Idee mit der...“
Optionen
Die Idee mit der WENN-Bedingung hatte ich auch schon, ist mir aber viel zu riskant - der SVERWEIS müsste dann von Spalte zu Spalte zweimal angepasst werden, und dabei schleichen sich leicht Flüchtigkeitsfehler ein
Du könntest eine zusätzliche Spalte einfügen um die Ergebnisse von SVERWEIS entsprechend zu filtern und die Spalte mit SVERWEIS ausblenden...
bei Antwort benachrichtigen
Olaf19 Borlander „Du könntest eine zusätzliche Spalte einfügen um die...“
Optionen

Moment - da soll ja nichts weggefiltert werden. Die Zeilen bleiben alle stehen, es sollen lediglich alle Zellen "leergemacht" werden, die ein #NV oder eine Null enthalten. Die #NVs lassen sich mit einem einfachen Replace entfernen, die Nullen erst nach Einstellung der entsprechenden Option. Ich werde daher zunächst Mawes Hinweis ausprobieren, ich denke, das sollte es schon gewesen sein. Mumpels VBA-Ansatz werde ich mir aus reiner Neugier natürlich auch anschauen.

THX nochmal an alle!
Olaf

Die Welt ist ein Jammertal ohne Musik. Doch zum Glueck gab es Bach, Beethoven, Haendel und Goethe (Helge Schneider)
bei Antwort benachrichtigen