Il metodo più breve per fare riferimento a una singola riga / colonna di un intervallo denominato in Excel?


8

Ho un intervallo denominato ( NamedRange1) e devo fare riferimento alla prima riga e alla prima colonna di quell'intervallo all'interno di una formula. Ho pensato a quanto segue:

  • Prima riga:

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

  • Prima colonna:

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

Questo sembra ingombrante, soprattutto dal momento che il modello a oggetti di Excel espone Rowse Columnsin VBA. C'è un modo più conciso di esprimere questo?

Risposte:


15

Riga:

INDEX(UnpivotSource,1,0)

Colonna:

INDEX(UnpivotSource,0,1)

Nota che questo funzionerà solo per intervalli di nomi contigui, c'è una funzione di indice per aree di un intervallo, ma potrebbe essere complicato se volessi qualcosa di diverso dalla prima riga o colonna.


Bello, funziona alla grande e molto più corto. Grazie!
tecnomalogico

Sotto il cofano di xl pensi che se uso questa tecnica, per esempio Max, sarà più efficiente, ad esempio Max("A:A")rispetto a Max(index(myNmdRang,0,1))?
whytheq

@whytheq, la mia ipotesi sarebbe che per colonne di grandi dimensioni Max("A:A")sarebbe il più efficiente. È possibile cronometrare e testare, vedere qui: stackoverflow.com/questions/198409/… .
Lance Roberts,

@LanceRoberts Ho aggiunto una domanda più dettagliata su SO qui: stackoverflow.com/questions/36197157/… Potresti rispondere perché la risposta corrente non è abbastanza buona.
whytheq
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.