Kürzeste Methode zum Verweisen auf eine einzelne Zeile / Spalte eines benannten Bereichs in Excel?

8

Ich habe einen benannten Bereich ( NamedRange1) und muss innerhalb einer Formel auf die erste Zeile und die erste Spalte dieses Bereichs verweisen. Ich habe mir Folgendes ausgedacht:

  • Erste Reihe:

    INDIRECT("R" & ROW(UnpivotSource) & "C" & COLUMN(UnpivotSource) & ":R"& ROWS(UnpivotSource) +ROW(UnpivotSource) -1 & "C" & COLUMN(UnpivotSource),0)

  • Erste Spalte:

    INDIRECT("R" & ROW(UnpivotSource) & "C" & COLUMN(UnpivotSource) & ":R"& ROW(UnpivotSource) & "C" & COLUMNS(UnpivotSource) + COLUMN(UnpivotSource) -1,0)

Dies scheint umständlich zu sein, insbesondere da das Excel-Objektmodell Rowsund Columnsin VBA verfügbar gemacht wird. Gibt es eine präzisere Möglichkeit, dies auszudrücken?

technomalogisch
quelle

Antworten:

15

Reihe:

INDEX(UnpivotSource,1,0)

Säule:

INDEX(UnpivotSource,0,1)

Beachten Sie, dass dies nur für zusammenhängende benannte Bereiche funktioniert. Es gibt eine Indexfunktion für Bereiche eines Bereichs. Es kann jedoch schwierig werden, wenn Sie etwas anderes als die erste Zeile oder Spalte wünschen.

Lance Roberts
quelle
Schön, funktioniert super und viel kürzer. Vielen Dank!
Technomalogical
Denken Sie unter der Haube von xl, wenn ich diese Technik verwende, zum Beispiel Max, wird sie effizienter sein, z. B. im Max("A:A")Vergleich zu Max(index(myNmdRang,0,1))?
Whytheq
@whytheq, meine Vermutung wäre, dass für große Spalten Max("A:A")die effizienteste wäre. Sie können Zeit und Test durchführen, siehe hier: stackoverflow.com/questions/198409/… .
Lance Roberts
@LanceRoberts Ich habe hier eine detailliertere Frage zu SO hinzugefügt: stackoverflow.com/questions/36197157/… Sie möchten möglicherweise antworten, da die aktuelle Antwort nicht gut genug ist.
Whytheq