
Ich habe 2 Blätter in Excel.
Ein Feld hat Datumsfelder.
zum Beispiel A-1 Datum1
Im 2. Blatt habe ich Datumsbereiche mit IDs.
A-1 Startdatum A2- Enddatum A3-Datumsbereichs-ID
Ich muss auf dem ersten Blatt ein neues Feld erstellen, das die Bereichs-ID von Date1 enthält.
Zum Beispiel habe ich auf dem zweiten Blatt den Bereich A1-1. Mai 2017 A2-30. Mai 2017 A3-7
Auf dem ersten Blatt A1 – 3. Mai 2017. Ich möchte also auf meinem ersten Blatt eine neue Spalte mit dem Wert 7 haben.
Wie kann ich das in Excel machen?
Antwort1
Wie bereits von @Ron Rosenfeld angegeben, sollte einfaches SVERWEIS funktionieren, wenn der Bereich in Blatt2 alle Daten in Blatt1 umfasst und es keine Überschneidungen gibt. Wenn Ihr Datumsbereich in Blatt2 jedoch nicht unbedingt in aufsteigender Reihenfolge ist und Lücken dazwischen und möglicherweise Überschneidungen aufweist, versuchen Sie diese Lösung. Die Einschränkung besteht darin, dass die erste Bereichs-ID für den Datumsbereich zurückgegeben werden soll, in dem Daten aus Blatt1 innerhalb des Bereichs liegen.
In diesem Beispiel enthält Blatt1 die Daten in Spalte A1:A10. Blatt2 enthält das Startdatum in A1:A7, das Enddatum in B1:B7 und die Bereichs-ID in C1:C7.
Geben Sie in die Zelle B1 von Blatt1 die folgende Array-Formel ein.
=IF(ISERROR(INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0))),"Not Found",INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0)))
Drücken Sie anschließend STRG+UMSCHALT+EINGABE, um eine Array-Formel daraus zu machen. Sie sehen nun die Formel in geschweiften Klammern in der Adressleiste. Ziehen Sie sie nun nach unten zu den gewünschten Zeilen. Jetzt soll Spalte B die jeweiligen Bereichs-IDs aus Blatt2 abrufen, wobei das Datum in Spalte A in den Bereich fällt.
Die Formel basiert auf der Überprüfung verschachtelter IFs, um basierend auf dem übereinstimmenden Bereich ein Array von TRUE, FALSE zurückzugeben und einen äußeren INDEX-MATCH zu verwenden, um die erste Position der Übereinstimmung 1 abzurufen und den Wert an dieser Position aus der Spalte „Bereichs-ID“ zurückzugeben.