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?

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.