Excel INDEX MATCH sucht zwischen zwei Daten meiner Wahl

Excel INDEX MATCH sucht zwischen zwei Daten meiner Wahl

Bildschirmfoto
Ich verwende Excel, um eine Liste von Artikeln zu protokollieren (Name der Artikel in Spalte D) und dann in Spalte G, wie lange die Herstellung des jeweiligen Artikels gedauert hat.

Ich führe einen INDEX MATCH durch, um nach dem Produkt mit der schlechtesten Performance der Woche (oder zwischen zwei Daten meiner Wahl) zu suchen, indem ich

=MAXIFS($G:$G,$E:$E,">="&O67,$E:$E,"<"&O68)

Dies gibt die Zeitspanne der längsten Produktion zwischen den beiden Daten in Zelle O67 und O68 zurück. Was ich dann tun möchte, ist, den Namen des Artikels (Spalte D) zurückzugeben, dessen Herstellung am längsten gedauert hat.

ich habe es versucht

=INDEX(D:F,MATCH(O69,G:G,0),1)

Aber dies prüft nur die aufgezeichnete Zeit und gibt das erste Mal zurück, dass diese Zeit in der Liste aufgetaucht ist. Es ist eine ziemlich lange Liste, sodass sich viele Zeiten wiederholen, also wäre das nicht der richtige Weg. Ich möchte nur, dass es auf die beiden Daten in O67 und O68 verweist und zwischen jedem dieser Daten nach der INDEX-ÜBEREINSTIMMUNG sucht.

Ich denke, ein Array könnte die beste Lösung sein, aber ich habe so etwas noch nie gemacht. Wenn das also die richtige Lösung ist, können Sie es dann langsam mit mir angehen, damit ich es verstehen kann?

Dank im Voraus!

Antwort1

Sie könnten dies versuchenAnordnungFormel, eingegeben nicht mit Enter, sondern mit Ctrl+ Shift+ Enter:

=INDEX($D$2:$D$1000,MATCH(1,($G$2:$G$1000= (ABSOLUTE REFERENCE TO MAXIFS CELL)
                           *($E$2:$E$1000>=$O$67)
                           *($E$2:$E$1000<$O$68),0))

In Arrayformeln ist es leistungsmäßig besser, Referenzen auf sorgfältig ausgewählte Bereiche zu verwenden, nicht auf ganze Spalten. Denn wenn Sie ganze Spalten wählen, wird die Arrayformel tatsächlich in jeder Zeile ausgeführt, auch wenn sie nicht verwendet werden soll, was die Arbeitsmappe verlangsamt.

Ich habe kein Excel 2019, um es zu testen, und in Excel 365 können Arrayformeln nur angezeigt, aber nicht eingegeben werden.

Antwort2

Ihr Problem kann durch den Einsatz einiger Hilfszellen gelöst werden: Start- und Enddatum sowie deren Anzahl.

Bildbeschreibung hier eingeben

  • Geben Sie diese Formel ein, um die Anzahl der Start- und Enddaten in der Zelle zu erhalten E193.

    =SUMPRODUCT(($C$179:$C$190>=C193)*($C$179:$C$190<=D193))
    
  • Geben Sie diese Array (CSE)-Formel in Zelle ein B195und beenden Sie mitStrg+Umschalt+Eingabeund nach unten auffüllen.

{=IF(ROWS(B$195:B195)>$E$193,"",INDEX(B$179:B$190,SMALL(IF(($C$179:$C$190>=$C$193)*($C$179:$C$190<=$D$193),ROW(B$179:B$190)-ROW($B$179)+1),ROWS(B$195:B195))))}

Achtung

  • Die Anzahl der Start- und Enddaten vermeidet die Verwendung von IFERRORFunktionen und rechtfertigt die Produktliste als Antwort. Sie muss dem Zählwert entsprechen.

Passen Sie die Zellbezüge in der Formel nach Bedarf an.

verwandte Informationen