Warum behandelt Excel diese beiden identisch aussehenden Zellen als unterschiedlich?

1

Ich habe ein ungewöhnliches Problem: Excel behandelt Zellen, die scheinbar gleiche Werte enthalten, als wären sie unterschiedlich.

Um das Problem zu replizieren, ich habe eine Tabelle zeigt dieses Verhalten angebracht hier .

Wenn Sie es nicht herunterladen möchten, sieht es folgendermaßen aus:

Zwei anscheinend identische Zellen

Excel behandelt die Zellen A2 und B2 so, als wären sie unterschiedlich, obwohl in beiden Zellen "G" steht. Zelle C2 testet dies mit =EXACT(A2,B2).

Das eigentliche Problem ist, dass wenn ich diese Daten in beispielsweise R importiere, sie als unterschiedlich behandelt werden und eine ordnungsgemäße Analyse der Daten verhindert wird.

In diesem Fall kann ich diese Zellen löschen, "G" erneut eingeben und sie werden jetzt gleich sein, aber ich habe einen riesigen Datensatz, in dem viele identische Zeichen als unterschiedlich behandelt werden.

Was ist der Grund dafür? Und gibt es eine schnelle Möglichkeit, eine größere Version davon automatisch zu reparieren?

Yang Li
quelle
5
Sie werden feststellen, dass sich in einer oder beiden Zellen nicht druckbare Zeichen wie ein Leerzeichen oder ein Zeilenumbruch befinden.
Scott Craner
@ScottCraner Ich sehe, die Person, die mir diese Tabelle geschickt hat, hat sie versehentlich mit Leerzeichen durchsetzt - ich denke, ich muss sie alle zuschneiden. Wenn Sie Ihren Kommentar als Antwort veröffentlichen möchten, würde ich ihn akzeptieren.
Yang Li
1
Die Behebung dieses Problems kann einfacher sein, wenn Sie das Blatt in eine CSV-Datei exportieren und mit einem guten Texteditor (Notepad ++, sublime usw.) bearbeiten. Dann können Sie das Problem klar erkennen und auch verschiedene Ersetzungen vornehmen. (Hinweis: CSV ist keine gute Idee, wenn Sie Formeln oder spezielle Formatierungen beibehalten müssen)
Ryan Griggs

Antworten:

2

Probleme wie dieses werden normalerweise durch das Problem verursacht, das @ScottCraner in den Kommentaren erwähnt hat. Der Grund dafür ist wie folgt ...

Nehmen wir an, Sie verwenden die in Ihrer Frage angegebene Tabellenkalkulation ...

  • gibt es einen Raum , nachdem die Gin der Zelle A2, und
  • Nach der in-Zelle ist kein LeerzeichenGB2

Wenn dies der Fall ist, sehen sie für uns zwar optisch gleich aus ...

  • Zelle A2würde durch Excel gleich zu sehen sein "G ", und
  • Zelle B2würde durch Excel gleich zu sehen sein"G"

Daher würden Sie FALSEin die Zelle bekommenC2

Sie müssten alle Zellen kürzen und bereinigen, die nicht druckbare Zeichen am Ende enthalten (Entfernen von nachgestellten und führenden Leerzeichen, Zeilenumbrüchen usw.), um die Datenkonsistenz in den Zellen sicherzustellen.

Sie können dies manuell tun, indem Sie den Wert erneut eingeben, der vorhanden sein sollte. Wenn Sie jedoch viele Zellen haben, bei denen möglicherweise dieses Problem auftritt, kann die Erstellung eines Makros aus Gründen der Zeitersparnis hilfreich sein.

VBA, um die Aufgabe zu erledigen .

Für eine große Menge Code können Sie einen schnellen Code verwenden, der von The Spreadsheet Guru für vorgeschlagen wird

Trimmen (Entfernen von führenden und endenden Leerzeichen) und Bereinigen (Entfernen von nicht druckbaren Zeichen) von Prozessen für Ihre Excel-Daten.

Sub CleanTrimCells_Evaluate()
'PURPOSE: A Fast way to Clean/Trim cell values in user selection
'AUTHOR: Armando Montes
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault

Dim rng As Range
Dim Area As Range

'Weed out any formulas from selection
  If Selection.Cells.Count = 1 Then
    Set rng = Selection
  Else
    Set rng = Selection.SpecialCells(xlCellTypeConstants)
  End If

'Trim and Clean cell values
  For Each Area In rng.Areas
    Area.Value = Evaluate("IF(ROW(" & Area.Address & "),CLEAN(TRIM(" & Area.Address & ")))")
  Next Area

End Sub
Chris Rogers
quelle