14 votos

Dinámicamente referencia a un Nombre de Columna de la Tabla a través del contenido de las celdas en Excel

¿Cómo hago referencia a una Tabla de Excel columna de forma dinámica en Excel 2007? es decir: yo quiero hacer referencia a un nombre de columna de una tabla con nombre y lo que la tabla va a variar con el valor de una celda.

Tengo una Tabla en Excel (Vamos a llamar Tabla1). Quiero hacer referencia a uno de sus columnas (Vamos a llamar a columna1) de forma dinámica a partir de un valor en otra celda (A1), de modo que pueda lograr el siguiente resultado:

Cuando me cambio de A1, la fórmula que cuenta Tabla1[DynamicallyReferencedColumnName] se actualiza a la nueva referencia.

He intentado utilizar =Count(Table1[INDIRECT("$A$1")]) pero Excel dice que la fórmula contiene un error.

Ejemplo:

A1 = nombres , a continuación, la fórmula sería igual Count(Tabla1[nombres]).

A1 = apellido , a continuación, la fórmula sería igual Count(Tabla1[apellido]).

Para editar las respuestas:

Volátiles solución

=COUNT(INDEX(Table1, 0, MATCH($A$1, Table1[#Headers], 0)))

No volátil solución (Generalmente mejor)

=COUNT(INDEX(Table1, 0, MATCH($A$1, Table1[#Headers], 0)))

Lectura adicional sobre las funciones volátiles: Excel recálculo (MSDN)

20voto

Tim Reczek Puntos 41

Utilizando el método INDIRECTO funciona, pero es mejor evitar, siempre que sea posible, ya que es una función volátil y puede tener computacional masivo impacto en la hoja de cálculo.

Un no-volátil alternativa que logra lo que desea es utilizar el ÍNDICE de/PARTIDO

COUNT(INDEX(Table1, 0, MATCH($A$1, Table1[#Headers], 0)))

-Tim

14voto

Casi lo tenía con INDIRECT(), pero su lógica estaba un poco apagado. Pruebe esto en su lugar:

=COUNT(INDIRECT("Table1["&A1&"]"))

La clave para recordar es que INDIRECT() sólo toma de texto (es decir, una cadena) para el primer argumento. Por lo tanto, usted tiene que aprobar todas las partes de la tabla de referencia a la función de texto.

2voto

Arun Puntos 169

primer paso de la instalación de una celda de texto que contiene el nombre de la columna que a la de referencia (por ejemplo $a$1) $A$1 contiene "Columna2", por ejemplo.

a continuación, para encontrar el recuento de la columna, que $A$1 se refiere a =Count(indirecto("Tabla1[" & $a$1 & "]"))

este método indirecto puede ser utilizado para construir todas las partes de la tabla de referencia y pueden, por ejemplo, también se pueden organizar a la búsqueda de las diferentes tablas

de la punta. si el $a$1 la célula son validados como de la lista desplegable que apunta a las cabeceras de la mesa, entonces cualquier cambio en el número de columnas en la tabla de los cambios a la cabecera de los títulos será recogido.

0voto

polyglot Puntos 27

Aquí hay un artículo muy bueno sobre estructurada referencias en Excel. Parece que este funciona un poco diferente en Excel 2010 que en Excel 2007.

Utilizando estructurado referencias con las tablas de Excel

Básicamente se hace referencia a la tabla y, a continuación, la columna dentro de la tabla.

Generic Excel Table

En este ejemplo se puede hacer referencia a la Tabla 1 de la Columna 1 como esta:

=COUNT(Table1[Column1])

Usted puede poner el nombre del encabezado de columnas en la tabla. Si he cambiado el nombre de la columna 1 a la Venta de la fórmula sería:

=COUNT(Table1[Sales])

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: