2014-10-03 16 views
26

E 'possibile in Google Spreadsheets raggiungere il valore della cella appena sopra?Ottieni il valore dalla cella sopra

Significato: In una cella A2 Desidero visualizzare il valore dalla cella sopra, ovvero A1. Non perché è quella coordinata, ma perché è la cella sopra. Lo faccio semplicemente impostando il valore uguale alla cella sopra:

enter image description here

Se creo una nuova riga tra quei due, ottengo questo:

enter image description here

Come sappiamo , nessun cambiamento nei valori, poiché il riferimento non è relativo in questo modo. Come posso renderlo relativo alla cella, quindi prendo sempre la cella sopra nomatter cosa è cambiato? Voglio che il risultato sia questo:

enter image description here

Il termine relativa è wrong in the case naturalmente, ma spero che il mio punto. I entrambi i vogliono il solito comportamento relativo (quindi posso spostare la cella stessa e il suo riferimento si adatta alla nuova colonna e riga) e il comportamento che il riferimento non punta verso una specifica coordinata fissa ma piuttosto un percorso specifico dalla cellula stessa.

risposta

55

È possibile risolvere in questo modo:

=INDIRECT(ADDRESS(ROW()-1,COLUMN())) 

COLONNA() restituisce un riferimento numerico per la colonna corrente

ROW() restituisce un riferimento numerico per la riga corrente.

Nell'esempio qui, sottraendo 1 dalla riga si ottiene la riga precedente. Questo calcolo matematico può essere applicato a ROW() e/o COLUMN(), ma nel rispondere alla domanda, questa formula farà riferimento alla cella sopra.

Quindi abbiamo ADDRESS() che accetta un riferimento numerico di righe e colonne e restituisce un riferimento di cella come stringa.

Infine INDIRECT() consente di passare un riferimento di cella come stringa e lo elabora come una formula.

Google Spreadsheets dà aiutate i suggerimenti durante la digitazione, così si dovrebbe ottenere una spiegazione completa di ogni funzione mentre si digita la formula di cui sopra in.

+0

Grazie per una risposta eccellente e ben spiegata. Funziona perfettamente. – Steeven

+1

Qualcuno sa come ottenere tutte le celle precedenti? –

+0

Questa risposta mi ha cambiato la vita. Grazie. –

7

Per chi si imbatte in questa domanda, è possibile anche specificare la colonna facendo qualcosa del genere:

=INDIRECT("A" & ROW()-1) 

Ciò risulta utile se si restituiscono valori nella colonna B ma si verifica rispetto alla riga precedente nella colonna A.

-2

Il modo migliore per farlo è:

  1. Vai alla cella A2
  2. Premere Ctrl + F3
  3. Fare clic su Aggiungi Nome
  4. In Nome selezionare un nome come "LPrev" (senza virgolette)
  5. In corso di stampa di riferimento "=! A1" (senza doppi apici)

Ora è solo utilizzare "= LPrev" per puntare alla cella nella stessa colonna, riga precedente.

Lo stesso trucco si adatta a qualsiasi tipo di riferimento relativo.