
Ich habe zwei Tabellen, die ich in Excel zusammenführen möchte:
Datum | |
---|---|
2019-07-07 06:49:10 | mail1 |
14.07.2019 20:21:16 | mail2 |
23.06.2019 18:22:40 | mail3 |
11.08.2019 13:17:54 Uhr | mail4 |
Und
Datum | Artikelnummer | |
---|---|---|
02.04.2019 15:11 | mail1 | Nr. 1 |
08.08.2019 20:21 | mail1 | Nr. 5 |
05.06.2019 16:30 | mail2 | Nr. 1 |
07.09.2019 13:00 | mail2 | Nr. 2 |
08.09.2019 12:43 | mail2 | Nr. 3 |
05.05.2019 18:13 | mail3 | Nr. 7 |
28.06.2019 09:00 | mail4 | Nr. 6 |
Ich möchte diese Tabellen in E-Mail zusammenführen. Für 'mail3' und 'mail4' sollte das ziemlich unkompliziert sein, sie erhalten Nr. 7 und Nr. 6. Für 'mail1' und 'mail2' ist das jedoch schwieriger. Ich möchte sie zusammenführen, indem ich die Daten vergleiche, sodass sie die Artikelnummer erhalten, die sich auf das Datum bezieht, das am nächsten liegt, aberVordas Datum in Tabelle 1. Ich habe versucht, die normale SVERWEIS-Funktion in E-Mails einzufügen, kann aber nicht wirklich herausfinden, ob dies unter bestimmten Bedingungen möglich ist. Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Danke.
Antwort1
Ich denke, Sie sollten sich für INDEX
und MATCH
zusammen mit entscheiden AGGREGATE
. Diese Kombination ist immer mindestens so schnell wie VLOOKUP
und im besten Fall VIEL schneller!
Hier ist ein Beispiel:
Formel in C2
:
=INDEX($G$2:$G$8,MATCH(AGGREGATE(14,3,($F$2:$F$8=B2)*($E$2:$E$8<A2)*($E$2:$E$8),1),$E$2:$E$8,0))
Runterziehen...
Um @Rajeshs Bedenken unten zu beantworten: Dies funktioniert in jeder Zeile, solange Sie die Referenzen entsprechend aktualisieren, Zeile 1, 100, 1000, 100000. Es spielt keine Rolle. Vergessen Sie nicht, echte Datumswerte und TRIM
die von OP angegebenen Beispieldaten zu verwenden:
Formel in C182
:
=INDEX($G$182:$G$188,MATCH(AGGREGATE(14,3,($F$182:$F$188=B182)*($E$182:$E$188<A182)*($E$182:$E$188),1),$E$182:$E$188,0))
Antwort2
Diese einfache Array-Formel (CSE) findet die beste Übereinstimmung für das Datum und behebt das Problem:
Bearbeitete Formel in Q2:
{=IF(ISBLANK(O2),"",IFERROR(INDEX($U$2:$U$9,MATCH(1,(P2=$T$2:$T$9)*(O2>=S$2:S$9),1)),""))}
- Beenden Sie die Formel mitStrg+Umschalt+Eingabeund fülle es aus.
Achtung
Closet Match ist Ermessenssache, es kann sein
Greater/Less than or Equals to the Criteria Date.
Entsprechend kann in diesem Teil der Formel auch der Vergleichsoperator mit geändert werden
(O2>=S$2:S$9)
.
Passen Sie die Zellbezüge in der Formel nach Bedarf an.