Excel: Ganze Bereiche auf Gleichheit überprüfen?
Gibt es eine Möglichkeit, zwei Bereiche (z.B.)
Bereich 1: A1:B2
Bereich 2: D1:E2
ohne die Einführung von zusätzlichen Spalten auf Gleichheit zu überprüfen? Ich will nur wissen, ob alle Werte spiegelbildlich identisch sind. Es geht mir darum, dass nur bei exakter Gleichheit z.B. WAHR ausgegeben wird. Sobald ein missmatch vorkommt, muss FALSCH ausgegeben werden. In den Zellen stehen nicht nur Zahlen, sondern auch Text.
Wenn es mit Bereichen nicht geht, würde es mir mir schon helfen z.B. zwei Spalten miteinander zu vergleichen, aber OHNE zu diesem Vergleichszweck daneben noch eine neue Spalte aufzumachen.
Die beiden Tabellen die ich vergleichen will befinden sich auf einem Excel-Blatt und haben eine Dimension von ca. 70 Spalten mal 600 Zeilen. Mein Ziel ist, oben im Tabellen-Header eine Zelle zu haben mit der ich auf den ersten Blick erkennen kann, ob die beiden darunterliegenden Bereiche bzw. Tabellen "identisch" bzw. "nicht identisch" sind.
2 Antworten
Hallo an alle, die an einer Lösung für dieses Problem interessiert sind.
Nur mit EXCEL(-Formeln) habe ich KEINE Lösung gefunden. Es funktioniert offenbar nur mit VBA. Der Code ist aber relativ einfach. Der Trick ist, die zu vergleichende Zelle (rechts) einfach als Offset der ursprünglichen Zelle (links) anzugeben. So könnte das Ganze anhand des Beispiels aussehen:
Sub Vergleich()
Dim TABELLE As Range, ZELLEIST, ZELLESOLL
Set TABELLE = ActiveWorkbook.Sheets(1).Range(ActiveWorkbook.Sheets(1).Cells(7, 1), ActiveWorkbook.Sheets(1).Cells(10, 2))
'Debug.Print TABELLE.Address(True) - nützlicher Befehl um den Adressbereich von Range auszugeben
For Each ZELLEIST In TABELLE
ZELLESOLL = ZELLEIST.Offset(0, 4).Value
If ZELLEIST <> ZELLESOLL Then
ActiveWorkbook.Sheets(1).Cells(1, 1).Value = "nicht identisch"
'Wenn auch nur einmal ein Missmatch vorkommt, wird "nicht identisch" in Zelle A1 geschrieben.
End If
Next
End Sub
hier ein Lösungsansatz