Also wenn
A1: A5 = {3, 3, 4, 4, 5}
Welche Funktion könnte ich in B1 einfügen, um einen Verweis auf A4 (die Zelle mit dem letzten Vorkommen von 4) zu erhalten?
quelle
Also wenn
A1: A5 = {3, 3, 4, 4, 5}
Welche Funktion könnte ich in B1 einfügen, um einen Verweis auf A4 (die Zelle mit dem letzten Vorkommen von 4) zu erhalten?
Ich gehe davon aus, dass A1: A5 in aufsteigender Reihenfolge sortiert sind. In diesem Fall können Sie die folgende Formel verwenden:
=ADDRESS(ROW(A1)-1+MATCH(4,A1:A5,1),COLUMN(A1))
Dies ergibt eine Ausgabe von $ A $ 4.
So funktioniert das:
MATCH(4,A1:A5,1)
findet den Index des größten Wertes, der <= 4 ist, unter der Annahme, dass A1: A5 in aufsteigender Reihenfolge sortiert ist. Dies bedeutet wirklich, dass der erste Wert größer als 4 ist und einfach den Index vor diesem Index zurückgibt.
ADDRESS(row,col)
konvertiert eine Zeilennummer und eine Spaltennummer in eine Zellreferenz. Für die Spaltennummer habe ich einfach die Spalte der Liste verwendet : COLUMN(A1)
. Für die Zeilennummer habe ich den von der MATCH
Funktion zurückgegebenen Index als Offset vom Anfang der Liste ( ROW(A1)-1
) verwendet. Sie könnten es weglassen ROW(A1)-1
und es würde in diesem Fall immer noch funktionieren, aber es würde fehlschlagen, sobald Ihre Liste an einer anderen Stelle als in Zeile 1 beginnt.
Beachten Sie, dass Sie Folgendes verwenden müssen, um diesen Referenzwert an einer anderen Stelle zu verwenden : INDIRECT(B1)
.
Sie können eine Array-Formel verwenden, um die MAX der Zeilen zu ermitteln
{=INDEX(A1:A5,MAX((A1:A5=4)*(ROW(A1:A5))),1)}
Eingabe mit Steuerung + Umschalt + Eingabe. Der MAX-Teil gibt die größte Zeilennummer aller Zellen zurück, die eine '4' enthalten. Das ist vielleicht alles, was Sie brauchen, aber ich habe das in eine INDEX-Funktion eingeschlossen, die auf die Zelle zeigt, falls Sie diesen zusätzlichen Schritt benötigen.
Unter der Annahme, dass in Ihrem Array keine Übereinstimmung mit Spaltenwerten vorliegt, würde ich vorschlagen, dass Sie die Spaltenwerte einfach umkehren, sodass sich die Werte in Spalte 5 des Arrays jetzt in Spalte 1 befinden, und stattdessen min () verwenden. Das erste Vorkommen zu bekommen ist immer einfacher als das letzte.