Método mais curto para referenciar uma única linha / coluna de um intervalo nomeado no Excel?


8

Eu tenho um intervalo nomeado ( NamedRange1) e preciso fazer referência à primeira linha e primeira coluna desse intervalo dentro de uma fórmula. Eu vim com o seguinte:

  • Primeira linha:

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

  • Primeira coluna:

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

Isso parece complicado, principalmente porque o modelo de objeto do Excel expõe Rowse Columnsno VBA. Existe uma maneira mais concisa de expressar isso?

Respostas:


15

Linha:

INDEX(UnpivotSource,1,0)

Coluna:

INDEX(UnpivotSource,0,1)

Observe que isso funcionará apenas para intervalos nomeados contíguos; existe uma função de índice para áreas de um intervalo, mas pode ser complicado se você quiser algo diferente da primeira linha ou coluna.


Bonito, funciona muito bem e muito mais curto. Obrigado!
technomalogical

Sob o capô do xl você acha que se eu usar essa técnica, por exemplo, Max, será mais eficiente, por exemplo, em Max("A:A")comparação com Max(index(myNmdRang,0,1))?
whytheq

@whytheq, meu palpite seria que, para colunas grandes, Max("A:A")seria a mais eficiente. Você pode testar e testar, veja aqui: stackoverflow.com/questions/198409/… .
Lance Roberts

@LanceRoberts Adicionei uma pergunta mais detalhada sobre SO aqui: stackoverflow.com/questions/36197157/… Você pode responder porque a resposta atual não é boa o suficiente.
whytheq
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.