Domanda

Io cerco di evitare l'uso di Excel troppo, ma quando lo faccio mi piace usare i riferimenti strutturati come sembrano molto più pulito di scrivere.

Se creo una tabella chiamata "table1" con le colonne "col1" e "col2" come faccio a riferimento la prima riga "col1" utilizzando un riferimento strutturato in un'altra tabella? Ho provato la =table1[[#this row],[col1]] della sintassi, e solo ottenere un errore. C'è una sintassi simile =table1[1,1] or =table1[1,[col1]]? Naturalmente, questo non funziona neanche, ma qual è l'equivalente?

E 'molto fastidioso, come sembra che questo dovrebbe essere semplice.

È stato utile?

Soluzione

Table1[[#This Row][Column1]] ha di lavoro, ma la formula deve essere sulla stessa riga la riga della tabella che si desidera fare riferimento.

Per fare riferimento alla prima fila, altrove, utilizzare COUNTIFS(criteria_range1, criteria1 [, criteria_rangen, criterian]) O il leggermente più complesso SUMIFS() se avete bisogno di valori numerici al posto dei conteggi, come detto da studgeek:

SUMIFS(sum_range1, criteria_range1, criteria1 [, criteria_rangen, criterian])

Avrete ovviamente bisogno di un unico criterio di fila in base ai quali selezionare la riga. Così, per esempio:

Table1
ID Value Name
1  2     Two
2  4     Four
3  8     Eight

SUMIF(Table1[Value], Table1[ID], 2) ... restituisce un valore di 4 (o zero se ID = 2 non trovato). Se il valore non è numerico, quindi non è possibile utilizzare questo metodo, ovviamente.

Tuttavia, akuhn quasi colpito la vera risposta, ma lui non è andato abbastanza lontano nella sua spiegazione / esempio, IMO.

restituisce INDEX(Table1[Name], 2) "Four" ritorna INDEX(Table1, 1, 1) 1

Altri suggerimenti

try

=INDEX(col1,1)

si può anche affrontare celle in una tabella 2-dim, usando

=INDEX(reference,row_num,column_num)

Il trucco in questi casi è quello di utilizzare Excel OFFSET funzione:

  • Accesso prima riga della colonna denominata Colonna1 nella stessa tabella: OFFSET([Column1],0,0,1)
  • Accesso seconda fila OFFSET([Column1],1,0,1)

ecc.

Naturalmente è possibile utilizzare questo per accces un altro tavolo e colonna semplicemente prefisso con il nome della tabella. Ad esempio OFFSET(Table2[Column3],4,0,1)will accedere 4a riga della colonna 'Colonna3' di 'Table2'

Non sembra essere un modo esplicito di utilizzare riferimenti strutturato a particolari righe di una tabella. Come dice Adrian, è possibile utilizzare INDEX.

In alternativa è possibile utilizzare intersezione implicita per fare riferimento alla stessa riga: se tabla1 è nel braccio 5:10 tabella 2 è anche nel braccio 5:10 quindi utilizzando un riferimento strutturato con nomi di colonna sarà implicitamente intersecare la stessa riga.

In alternativa, è possibile inserire il riferimento strutturato come una formula di matrice multirow (selezionare più celle, immettere la formula e utilizzare Ctrl + Maiusc + Invio) in diverse righe e funzionerà.

Invece di INDICE vorrei suggerire SUMIF. Essa vi permetterà di utilizzare i valori della tabella, piuttosto che numeri di riga espliciti (che può rompersi se si avvia filtraggio o ordinazione). Per esempio (dal seguente link), questo riassume la colonna Importo e comprende solo quelle righe in cui Tipo uguale Controllare e dove conto è uguale Utilities: =SUMIFS(Table1[Amount],Table1[Type],“Check”,Table1[Account], “Utilities”)

Vedi questo link maggiori informazioni: http://office.microsoft.com/en-us/excel-help/using-structured-references-with-excel-tables-HA010155686.aspx

Sarebbe bello se una tabella potrebbe avere una colonna designata come chiave primaria (che potrebbe essere numerico o stringa), e poi un arbitro strutturato potrebbe includere un modo per fare riferimento una riga da esso è chiave primaria.

Questo sarebbe lo zucchero sintassi intorno CERCA.VERT, ma il tavolo poteva sapere se è stato risolto sulla chiave primaria, e fare ricerche efficaci solo in quel caso. Sembra che CERCA.VERT incorpora il male in essa che trova la riga sbagliata se si dipende da ordinato, soprattutto quando le tabelle hanno un modo conveniente per ordinare le righe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top