Excelで名前付き範囲の単一の行/列を参照する最短の方法?


8

名前付き範囲(NamedRange1)があり、数式内でその範囲の最初の行と最初の列を参照する必要があります。私は次のことを思いつきました:

  • 最初の行:

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

  • 最初の列:

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

これは、特にExcelオブジェクトモデルが公開するので、面倒なようだRowsし、ColumnsVBAで。これを表現するより簡潔な方法はありますか?

回答:


15

行:

INDEX(UnpivotSource,1,0)

カラム:

INDEX(UnpivotSource,0,1)

これは隣接する名前付き範囲に対してのみ機能することに注意してください。範囲の領域に対するインデックス関数がありますが、最初の行または列以外のものが必要な場合は注意が必要です。


美しく、素晴らしい作品と短い方法。ありがとう!
10

XLのボンネットの下に、私はこのテクニックを使用している場合だと思います、と言うマックスのために、それはより効率的な例だろうMax("A:A")に比べてMax(index(myNmdRang,0,1))
whytheq 2016年

@whytheq、私の推測では、大きな列Max("A:A")が最も効率的です。時間とテストを行うことができます。ここを参照してください:stackoverflow.com/questions/198409/…
ランスロバーツ

@LanceRoberts SOに関するより詳細な質問をここに追加しました:stackoverflow.com/questions/36197157/…現在の回答では不十分なので、回答したいと思うかもしれません。
whytheq 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.