una tipos tablas tabla rellenar referencias referencia otra información estructuradas datos crear con celdas campo absoluta excel excel-2007 excel-formula

tipos - ¿Cómo se obtiene el índice de la columna de una tabla utilizando una referencia estructurada en Excel?



tipos de tablas en excel (6)

Puede usar: =COLUMN(MyTable[ * ]) - COLUMN(MyTable[A]) + 1 , donde * es la columna cuyo índice desea.

Tengo una mesa con 3 columnas Quiero escribir una fórmula que, dada una referencia estructurada, devuelva el índice de la columna. Esto me ayudará a escribir fórmulas de VLookup usando la referencia estructurada.

Entonces, por ejemplo, para la tabla MyTable con las columnas A , B , C me gustaría poder escribir:

=GetIndex(MyTable[C])

y haz que regrese 3.

En este momento solo me aseguro de que el rango de la tabla comience en la primera columna de la hoja y escriba

=Column(MyTable[C])

pero quiero algo más sólido.


Quieres decir:

Dim r As Range MyLetter ="AA" Set r = Range(MyLetter & "1") MyIndex= r.Column

Editar comentario

Function GetRelativeColumn(Letter, RangeName) Dim r As Range Dim ColStart, ColRequired, ColTemp Set r = Range(RangeName) ColStart = r.Column ColRequired = Range(Letter & "1").Column ColTemp = ColRequired - ColStart + 1 If ColTemp < 1 Or ColTemp > r.Columns.Count Then MsgBox "Ooutside range" Else GetRelativeColumn = ColTemp End If End Function


= ligera modificación a las respuestas de eJames: = COLUMN (MyTable [*]) - MIN (COLUMN (MyTable)) + 1, donde * es la columna de la que desea el índice.


Otra solución a la pregunta que hizo (o algo parecido) es usar algo como =MATCH("C",MyTable[#Headers],0) , que devolverá 3 en el ejemplo que publicó.

Sin embargo, si usa INDEX en lugar de VLOOKUP, no necesitaría hacer esto. Por ejemplo, si quiere encontrar el valor de C en la fila (suponiendo que no hay más de uno) donde A es igual a 2, podría usar una fórmula como =INDEX(MyTable[C],MATCH(2,MyTable[A],0)) , que está muy bien documentado.


Una fórmula adecuada basada en su ejemplo sería

=COLUMN(MyTable[C])-COLUMN(MyTable)+1

La primera parte de la COLUMN(MyTable[C]) forumla COLUMN(MyTable[C]) devolverá el número de columna de la columna referenciada.

La segunda parte de la fórmula COLUMN (MyTable) siempre devolverá el número de columna de la primera columna de la tabla.


¿Cuál es tu objetivo final? Puede ser mejor que use SUMAR.SI (como lo describo aquí ) o ÍNDICE (como lo describo aquí ) para acceder a sus valores en lugar de saltar a la fila / columna ...