Unterschied zwischen zwei Zellen in Excel darstellen

Hi!

Ich habe in Excel zwei Zellen mit Inhalt in der Form „AA BB CC DD“ (also einzelne Textelemente, getrennt durch Leerzeichen, aber kein echtes Array), die jeweils eine Auswahl aus einer Gesamtliste darstellen (entweder auch in der Form oder mit einem Wert pro Zelle in einer separaten Tabelle). Ich möchte in einer weiteren Zelle in der gleichen Form darstellen, welche Elemente aus einer Liste in keiner der Zellen vorkommen.
Das ganze soll ein Mal pro Zeile gemacht werden, Platz für irgendwelche Zwischenrechnungen ist also nicht.

Beispiel:
Gesamtliste: „AA BB CC DD EE“
Zelle 1: „AA BB“
Zelle 2: „CC“
Ergebniszelle soll sein: „DD EE“

Geht sowas ausschließlich mit normalen Formeln?

Grüße
ventrue

Hi,

so etwas in der Richtung (Wert mit dem zu untersuchenden Text in C8)?

=WENN(WENNFEHLER(FINDEN(„AA“;C8);„nn“)=„nn“;„AA“;"")&"-"&WENN(WENNFEHLER(FINDEN(„BB“;C8);„nn“)=„nn“;„BB“;"")

die Wenn Formel halt so oft verketten, wie es Elemente gibt. Also noch für CC, DD, …

fg

Dirk_P

Hallo,

dies mit in der Zelle direkt hinterlegten Formeln zu bewerkstelligen wird eher schwierig, falls überhaupt dann sehr unübersichtlich und fehleranfällig. Vor allem wenn die Formel mit einer unbestimmten Anzahl von Textfragmenten umgehen muss.
Sinnvoll wäre eine VBA Funktion, die Zellinhalte als Parameter erhält und das Ergebnis als Text zurückliefert.

In der Funktion kann man mittels dem Befehl Split(…) die Gesamtliste in ihre Bestandteile zerlegen und mit dem Befehl InStr(…) die Vergleiche durchführen.

Tschau
Peter

Hi,

die Anzahl der möglichen Textfragmente ist in der Tat unbekannt und wird sich auch ändern. Die Formel soll damit klarkommen, ohne dass man was ändern muss.

Dass das ohne VBA nicht geht, hab ich schon befürchtet :slight_smile:

Grüße
ventrue

Hallo ventrue
Für das Beispiel, das Du angibst, gibt es folgende Formel:

ZellenUnterschied

Grüsse Niclaus

Hi Niclaus,

die Formel funktioniert leider nur, wenn in den Zellen 1 und 2 zusammenhängende Teilbereiche der Gesamtliste stehen. Das ist in meinem (wohl unglücklich gewählten) Beispiel der Fall, muss aber nicht so sein.

Es könnte genauso sein, dass „AA CC“ aussortiert werden soll.

Ist aber eine gute Idee!

Grüße
ventrue

Hallo,

warum sollte der Platz nicht vorhanden sein? Du kannst Hilfszeilen einfügen die du dann ausblendest oder einfach ein zusätzliches Tabellenblatt als Hilfstabelle benutzen. Das Tabellenblatt wäre auch ausblendbar.

Als Alternative zu Hilfzeile bzw. -tabelle würde mir eine nur die Möglichkeit einer Matrixformel einfallen. Wenn ich mich richtig erinnere sollte es damit möglich sein, allerdings fallen mir dazu die passenden Funktionen gerade nicht ein. Außerdem könnte je nach Listengröße und Anzahl der verwendeten Matrixformeln das ganze Dokument extrem langsam reagieren. Wenn du möchtest kann ich aber gerne schauen ob ich etwas funktionierendes finde.

##Lösung mit Hilfzeile bzw. -tabelle
Ich habe dich so verstanden dass sich die Gesamtliste über mehrere Spalten erstreckt und gehe jetzt mal von folgendem Aufbau aus:

Tabellenaufbau

Ich benutze Zeile 4 als Hilfszeile. Mit angepassten Zellbezügen könntest du die Zeile natürlich auch einfach auf ein zusätzliches Tabellenblatt auslagern.

Formel für A4:

=WENN(A3="";"";WENN(ANZAHL(FINDEN(A3;$A$1&" "&$B$1))=0;A3;""))

Formel für B4:

=WENN(B3="";A4;A4&WENN(ANZAHL(FINDEN(B3;$A$1&" "&$B$1))=0;" "&B3;""))

–> Die Formel nach rechts bis E4, bzw. soweit die Gesamttabelle maximal geht, erweitern. Als Einzelergebnisse werden nur die Einträge der Gesamttabelle angezeigt die in A1 und A2 nicht vorkommen und durch Leerzeichen getrennt aneinandergehängt. Leere Zellen in der Gesamttabelle werden ignoriert.

Formel für C1:

=GLÄTTEN(E4)

–> GLÄTTEN() bereinigt ein überflüssiges Leerzeichen, das eingefügt wird wenn A4 eine Übereinstimmung gefunden hat und entsprechend nichts anzeigt.

Gruß
Tobias

Ich hatte gar nicht realisiert, dass man ganze Tabellenblätter ausblenden kann!

Damit lassen sich natürlich schöne Zwischenrechnungen anstellen, so hab ich es jetzt auch gemacht :smile:

Danke euch!

Grüße
ventrue