Vergleichen von zwei Datenarrays bei Verwendung von INDEX, SMALL und ROW, um n-te Übereinstimmungen zu erhalten

350
pjc

Ich habe eine Reihe von Daten und dann eine große Liste von E-Mails, die alle Sendedaten haben. Ich hätte gerne eine Formel, die die erste Übereinstimmung zwischen den beiden Datumsfeldern ermittelt, und dann diese nach unten kopieren und die erste Übereinstimmung, die zweite Übereinstimmung, die dritte Übereinstimmung usw. anzeigen.

Ich bin soweit gekommen (den Wert am Ende für die n-te Zahl ändern):

{=INDEX($D$2:$D$100,SMALL(IF($A$2:$A$100=$Q$1,ROW($A$2:$A$100)-ROW(INDEX($A$2:$A$100,1,1))+1),1))} 

Aber das Problem ist, dass ich dies nur verwenden kann, um ein Datum aus meinem ursprünglichen Datumsbereich mit dem Datumsbereich für meine E-Mails zu vergleichen.

Ich habe das Gefühl, dass ich in die falsche Richtung gehe und anfange zu denken, dass dies viel besser wäre VBA, wenn ich es gebrauchen würde, aber ich habe wirklich das Gefühl, dass es eine Möglichkeit gibt, es irgendwo mit einer Formel zu tun.

Ich habe es versucht IF($A$2:$A$100=$Q$1:$Q$10, aber das hat nicht funktioniert ( ich habe es auch nicht erwartet)

Alle Erkenntnisse wären dankbar.

0
Ich habe einen Bruch gemacht, aber es wurde ziemlich haarig. In der Spalte mit den Sendedaten werden für jedes Datum mehrere Übereinstimmungen angezeigt. Ein Zwischenergebnis kann also ein 2D-Array mit Datum auf einer Achse und Sendedatum auf der anderen Achse sein, wobei in jeder Zelle, in der eine Übereinstimmung besteht, row_num steht. Sie können ein solches 2D-Array mit `= IF (TRANSPOSE (Q1: Q10) = (A1: A100), ROW (A1: 100)`) erhalten. Dort wird es haarig. `SMALL ()` kann die 2Ds nicht verarbeiten und listet nur die erste Zeile auf. `AGGREGATE ()` Auch. Das Konvertieren des 2D-Arrays in eine 1D ist * sehr *. VBA wäre viel einfacher, daher würde ich diesen Ansatz empfehlen. Bandersnatch vor 6 Jahren 0
Sie meinen damit, dass die Mail-ID zwei Daten hat, die übereinstimmen müssen? Könnten Sie bitte einige Beispieldaten hochladen? Rajesh S vor 6 Jahren 1

0 Antworten auf die Frage