Crear columnas a partir de encabezados de tablas usando referencias estructuradas

Crear columnas a partir de encabezados de tablas usando referencias estructuradas

Tengo una tabla con nombre ( DATA) en Excel. Quiero crear una tabla separada ( INFO_TABLE) en otro lugar, donde una columna contenga los encabezados de la DATAtabla.

Esto es lo que quiero: la tabla 'ENCABEZADOS' contiene una columna, llena con una única fórmula (en la celda superior de esa columna), desplegada hacia abajo, que contiene todos los valores del encabezado de la primera tabla. ¿Cómo puedo conseguir esto?

Salida deseada

{=DATA[#Headers]}me da unfilaque contiene los encabezados, pero no se completa automáticamente (de izquierda a derecha) cuando se usa CSE (en Mac). Al arrastrar la fórmula hacia abajo (por ejemplo, A2:A5) se obtiene solo el nombre de la primera columna de DATA, que se muestra en esta captura de pantalla:

No es el resultado deseado

También lo he intentado {=TRANSPOSE(DATA[#Headers]))}, pero esto no funciona.

(Una solución ideal no contiene VBA ni macros).

Respuesta1

Puede utilizar Power Query:

  1. Selecciona elDatos de la tabla- ir aDatos-Desde mesa/gama- abre elEditor de consultas de energía: ingrese la descripción de la imagen aquí

  2. EnEditor de consultas de energía- bajoHogarpestaña- seleccionarUtilice encabezados como primera fila ingrese la descripción de la imagen aquí

  3. Ir aTransformarpestaña- seleccionarTransponer: ingrese la descripción de la imagen aquí

  4. Eliminarcolumna nula yRebautizarla columna 1 aEncabezamiento: ingrese la descripción de la imagen aquí

  5. Pestaña Inicio: cerrar y cargar en...: ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Respuesta2

Desafortunadamente, no se puede ingresar una fórmula en una tabla que se DERRAME.

Pero puedes usar esta fórmula en la primera celda de la columna Encabezados y arrastrarla hacia abajo tanto como sea necesario:

=INDEX(Data[#Headers],ROWS($1:1))

A medida que arrastra hacia abajo, la ROWSfunción cambia automáticamente para devolver cada elemento secuencial de la #Headersmatriz.

ingrese la descripción de la imagen aquí

Respuesta3

Las tablas no permiten dos cosas que sean variaciones de una misma idea:

  1. SPILLfórmulas (presumiblemente debido a que la repetición en cada fila de la fórmula para la columna que conduce a cada una de esas fórmulas "pisa" las que están debajo, lo que resulta en el error de derrame)

  2. Usar matrices de estilo antiguo para hacer lo mismo (presumiblemente por la misma razón)

Puede probar la siguiente fórmula que no incluye SPILLo involucra resultados que tendrían que mostrarse por encima de los resultados de la siguiente fila:

=INDEX(Table1[#Headers],1,ROW()-1)

Sus resultados son una sola celda de datos, por lo que los RESULTADOS no se extienden a los resultados de ninguna otra fila. Utiliza la función de Tabla para (esencialmente) derramar la FÓRMULA para obtener la columna completa de resultados que necesita.

Sin embargo, solo admite la cantidad de filas que coinciden con la cantidad de columnas en su tabla de origen, pero presumiblemente eso no será un problema.

Baje las dimensiones de la tabla para tener suficientes filas para todas las columnas de la tabla de origen y luego ingrese la fórmula, o ingrese la fórmula y luego baje las dimensiones de la tabla para que se ajusten a los resultados. ¡Sin filas adicionales, pero tampoco muy pocas! (Utilice el pequeño marcador en la esquina inferior derecha de la celda inferior derecha de la Tabla para arrastrar hacia arriba/abajo (y hacia la izquierda/derecha si alguna vez es necesario) para ajustar el tamaño. Arrastre hacia abajo hasta obtener resultados defectuosos, luego hasta el último buen resultado. O averigüe dónde arrastrar de antemano. O simplemente edite el rango de la tabla de muchas maneras).

información relacionada