Metode Terpendek Untuk Merujuk Satu Baris / Kolom dari Rentang Bernama di Excel?

8

Saya memiliki rentang bernama ( NamedRange1) dan saya perlu referensi baris pertama dan kolom pertama dari rentang itu dalam rumus. Saya datang dengan yang berikut:

  • Baris pertama:

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

  • Kolom pertama:

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

Ini tampaknya rumit, terutama karena model objek Excel memperlihatkan Rowsdan Columnsdalam VBA. Apakah ada cara yang lebih ringkas untuk mengekspresikan ini?

tekomalogis
sumber

Jawaban:

15

Baris:

INDEX(UnpivotSource,1,0)

Kolom:

INDEX(UnpivotSource,0,1)

Perhatikan bahwa ini hanya akan berfungsi untuk rentang-nama yang berdekatan, ada fungsi indeks untuk area rentang, tetapi bisa menjadi rumit jika Anda menginginkan sesuatu selain baris atau kolom pertama.

Lance Roberts
sumber
Cantik, bekerja dengan baik, dan jauh lebih pendek. Terima kasih!
technomalogical
Di bawah kap xl menurut Anda apakah saya menggunakan teknik ini, misalnya Max, akan lebih efisien misalnya Max("A:A")dibandingkan dengan Max(index(myNmdRang,0,1))?
whytheq
@whytheq, Dugaan saya adalah bahwa untuk kolom besar Max("A:A")akan menjadi yang paling efisien. Anda dapat menguji waktu dan waktu, lihat di sini: stackoverflow.com/questions/198409/… .
Lance Roberts
@ LanceRoberts Saya menambahkan pertanyaan yang lebih terperinci pada SO di sini: stackoverflow.com/questions/36197157/… Anda mungkin ingin menjawab karena jawaban saat ini tidak cukup baik.
whytheq