Zwei Spalten vergleichen, Ergebnis aus dritter lesen
#1
Hallo,

folgendes Problem:
In Spalte A und Spalte C sind Einträge aus der gleichen Menge. In C tauchen sie nur einmal auf; in A können sie auch mehrmals oder gar nicht auftreten.
In Spalte B steht ein Eintrag, der zeilenweise jeweils zu Spalte A gehört.
Als Beispiel erkläre ich das am besten so:
Der Inhalt von C1 ist mehrmals in der Spalte A vorhanden. Zu diesen gleichen Einträgen will ich jetzt wissen, was in Spalte B steht, und den Inhalt aus den B-Zellen in die Spalten ab C1 eintragen.

In der Datei habe ich das Problem mal vereinfach dargestellt.

Vielen Dank für eure Hilfe


Angehängte Dateien
.xlsx   2016_02_12.xlsx (Größe: 8,09 KB / Downloads: 7)
Top
#2
Hi,

dein Vorhaben solltest du mir nochmals erklären.

Sp. A und C enthalten numerische Werte, wobei in C diese nur einmal vorhanden sind. Kapiert  :)
Zu den gleichen Eintragen willst du Sp. B auslesen -soll also zu Ziffer 2 die Buchstaben A, B und C eingetragen werden?
Den ausgelesenen Inhalt aus B willst du in C geschrieben haben? Da stehen aber doch schon Werte drin? 

Da die Ziffern und Buchstaben sicherlich nur Platzhalter sind, solltest du zum besseren Verständnis und auch um eventuell unnötiges Nachfragen zu vermeiden, Anaben machen, die deinem Original gleichen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallo, meinst du so..?

gelöscht, weil crosspost...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
[-] Folgende(r) 1 Nutzer sagt Danke an Jockel für diesen Beitrag:
  • Kyle_Crane
Top
#4
Bitte entschuldigt den Crosspost. Diese Regelung habe ich überlesen.
http://www.ms-office-forum.net/forum/sho...p?t=330184

@WillWissen
Die Werte sollen nicht in die C-Spalte geschrieben werden, sondern so wie Jockel die Tabelle geändert hat.


@Jockel
Dein Code funktioniert bei mir nicht. B- und D-Spalte sind einfach identisch.

Meine Tabelle war nicht ganz korrekt. Die A-Spalte ist alphabetisch sortiert und die Zelleninhalte sind alle Text.
Ich hab ein richtiges Beispiel hochgeladen, das dem Original zu 100% entsprechen sollte.


Angehängte Dateien
.xls   2016_02_12.xls (Größe: 28 KB / Downloads: 5)
Top
#5
Hi,

du kannst Jockels Formel übernehmen (funktioniert einwandfrei), musst halt noch die Bereiche anpassen. Und hast du beachtet, dass es sich um eine Matrix-Formel, die mit STRG-SHIFT-ENTER abgeschlossen werden muss, handelt?

Tabelle1

ABCDEFGHI
1AAAAAABDE
2AABABAXFRBU
3AADACABCTQY
4AAEADADFAUSAAMXAAUT
5ABA
6ABX
7ABF
8ABR
9ABB
10ABU
11ACA
12ACB
13ACC
14ACT
15ACQ
16ACY
17ADADF
18ADAUSA
19ADAMX
20ADAAUT
Formeln der Tabelle
ZelleFormel
D1{=WENNFEHLER(INDEX($B$1:$B$20;KKLEINSTE(WENN($A$1:$A$20=$C1;ZEILE($A$1:$A$20));SPALTE(A$1)));"")}
E1{=WENNFEHLER(INDEX($B$1:$B$20;KKLEINSTE(WENN($A$1:$A$20=$C1;ZEILE($A$1:$A$20));SPALTE(B$1)));"")}
F1{=WENNFEHLER(INDEX($B$1:$B$20;KKLEINSTE(WENN($A$1:$A$20=$C1;ZEILE($A$1:$A$20));SPALTE(C$1)));"")}
G1{=WENNFEHLER(INDEX($B$1:$B$20;KKLEINSTE(WENN($A$1:$A$20=$C1;ZEILE($A$1:$A$20));SPALTE(D$1)));"")}
H1{=WENNFEHLER(INDEX($B$1:$B$20;KKLEINSTE(WENN($A$1:$A$20=$C1;ZEILE($A$1:$A$20));SPALTE(E$1)));"")}
I1{=WENNFEHLER(INDEX($B$1:$B$20;KKLEINSTE(WENN($A$1:$A$20=$C1;ZEILE($A$1:$A$20));SPALTE(F$1)));"")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Formel in C1 eingeben und nach rechts und unten ziehed.

Bitte teile im anderen Forum mit, dass du eine Lösung hast - das ist nur fair.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Kyle_Crane
Top
#6
Hallo,

Ungetestet,,da am Handy, nach folgendem Muster:


=Wenn(Zählenwenn($A:$A;$C1)>=Spalte(A1),Index($B:$;Vergleich($C1;$A:$A;0))+Spalte(A1)+Zählenwenn($A:$A;$C1)-11)-1);"")
Gruß Atilla
Top
#7
Vielen Dank an alle, die sich dran gesetzt haben.

@WillWissen
Deine Lösung setze ich gerade um und prüfe sie. Sieht soweit gut aus. Das dauert nur ein bisschen, weil die A-Spalte 60.000 Zeilen hat und jeder Eintrag aus der C-Spalte bis zu 10 gleiche Werte in der A-Spalte haben kann.

@atilla
Bei deiner Formel stimmen die Anzahl der geöffneten und geschlossenen Klammern nicht.
Top
#8
Hallo,


Wenn(Zählenwenn($A:$A;$C1)>=Spalte(A1);Index($B:$B;Vergleich($C1;$A:$A;0))+Spalte(A1)+Zählenwenn($A:$A;$C1)-1);"")

Bei so vielen Zeilen, würde ich keine Array Formel einsetzen.
Mein Vorschlag geht nur, wenn Spalte A sortiert ist, wie Du geschrieben hattest.
Gruß Atilla
Top
#9
(12.02.2016, 17:33)atilla schrieb: Hallo,


Wenn(Zählenwenn($A:$A;$C1)>=Spalte(A1);Index($B:$B;Vergleich($C1;$A:$A;0))+Spalte(A1)+Zählenwenn($A:$A;$C1)-1);"")

Bei so vielen Zeilen, würde ich keine Array Formel einsetzen.
Mein Vorschlag geht nur, wenn Spalte A sortiert ist, wie Du geschrieben hattest.

Hallo, dein Vorschlag funzt nicht, hättest vielleicht doch testen sollen..?!?!?! Was geht in diesem Beispiel hier ist..:

=WENN(ZÄHLENWENN($A:$A;$C1)>=SPALTE(A$1);INDEX($B:$B;VERGLEICH($C1;$A:$A;0)-1+SPALTE(A$1));"")
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#10
Hallo,

so bin jetzt am Rechner und habe da noch gravierende Fehler in meiner Formel festgestellt.

Aber jetzt:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFGHI
1AAAAAABDE  
2AABABAXFRBU
3AADACABCTQY
4AAEADADFAUSAAMXAAUT  
5ABA       
6ABX       
7ABF       
8ABR       
9ABB       
10ABU       
11ACA       
12ACB       
13ACC       
14ACT       
15ACQ       
16ACY       
17ADADF       
18ADAUSA       
19ADAMX       
20ADAAUT       

ZelleFormel
D1=WENN(ZÄHLENWENN($A:$A;$C1)>=SPALTE(A1);INDEX($B:$B;VERGLEICH($C1;$A:$A;0)+SPALTE(A1)-1);"")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß Atilla
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste