E+

ChakiArt

Excel · Datos · Automatización

Volver a Excel Lab
Excel Lab · Matrices dinámicas

APILARH

Une dos o más matrices horizontalmente para construir una matriz más amplia, colocando unas columnas junto a otras.

Excel 365Matrices dinámicasNivel intermedio

Qué hace

Coloca varias matrices una al lado de otra

APILARH combina horizontalmente dos o más rangos o matrices. La primera matriz queda a la izquierda y las siguientes se incorporan a su derecha, respetando el orden indicado.

A diferencia de copiar y pegar columnas, el resultado es una matriz dinámica que puede actualizarse cuando cambian los datos originales.

Matriz 1

UUID

Matriz 2

Importe

Resultado

UUID | Importe

Sintaxis

Cómo se construye APILARH

=APILARH(matriz1,[matriz2],...)
matriz1Obligatorio

Primera matriz o rango que formará parte del resultado.

[matriz2], ...Opcional

Matrices adicionales que se colocarán a la derecha de las anteriores.

El orden de los argumentos importa

APILARH conserva el orden de las matrices. Si intercambias sus posiciones dentro de la fórmula, también cambiará el orden de las columnas del resultado.

Ejemplos

Combinar dos columnas de facturas

Supongamos que tenemos los UUID de nuestras facturas en la columna A y sus importes en la columna C.

Datos originales

Columna AColumna C
CFDI-001$15,200
CFDI-002$8,450
CFDI-003$23,800
CFDI-004$145,000
Ejemplo 1

Utilizando rangos normales

Podemos combinar ambos rangos para obtener una matriz de dos columnas.

=APILARH(A2:A5,C2:C5)
A2:A5

Primera matriz: los UUID.

C2:C5

Segunda matriz: los importes.

Recomendado

Utilizando una tabla de Excel

Si los datos se encuentran dentro de una tabla llamada tblSistema, podemos utilizar referencias estructuradas para seleccionar las columnas.

=APILARH(tblSistema[UUID],tblSistema[Importe])
tblSistema[UUID]

Selecciona la columna UUID de tblSistema.

tblSistema[Importe]

Selecciona la columna Importe de la misma tabla.

Ventajas de utilizar una tabla

Cuando agregas nuevas facturas, las referencias estructuradas incorporan automáticamente los registros adicionales. No necesitas modificar manualmente los rangos.

Resultado de ambos ejemplos

UUIDImporte
CFDI-001$15,200
CFDI-002$8,450
CFDI-003$23,800
CFDI-004$145,000

Otra posibilidad

Agregar una columna calculada

APILARH también permite incorporar columnas creadas mediante fórmulas, sin necesidad de agregarlas físicamente a la tabla de origen.

Supongamos que queremos generar una tercera columna con el 16% de cada importe.

=APILARH(
    tblSistema[UUID],
    tblSistema[Importe],
    tblSistema[Importe]*0.16
)
tblSistema[UUID]

Primera columna del resultado.

tblSistema[Importe]

Segunda columna del resultado.

tblSistema[Importe]*0.16

Tercera columna, calculada dinámicamente.

Este ejemplo calcula el 16% de los importes mostrados. Si tu base almacena importes que ya incluyen IVA, necesitarás adaptar el cálculo.

Aplicación real

APILARH en la conciliación de facturas

En nuestro tutorial de conciliación, primero utilizamos FILTRAR para recuperar las facturas de tblSistema que no aparecen en tblSAT.

Después necesitamos incorporar una columna que explique el motivo por el que aparece cada registro.

=APILARH(
    datosSistema,
    SI(
        ELEGIRCOLS(datosSistema,1)<>"",
        "Falta factura en SAT",
        ""
    )
)
datosSistema

Contiene los registros del sistema que no aparecen en el SAT.

ELEGIRCOLS(datosSistema,1)

Obtiene la primera columna de la matriz, donde se encuentran los UUID.

SI

Genera la descripción correspondiente cuando el UUID no está vacío.

APILARH

Coloca esa descripción a la derecha de las columnas originales.

Resultado esperado

UUIDProveedorImporteDescripción
CFDI-009CEMEX$87,500Falta factura en SAT
CFDI-015CEMEX$62,400Falta factura en SAT

El reporte incorpora una nueva columna

No necesitamos modificar tblSistema ni crear columnas auxiliares. Construimos una nueva matriz utilizando los resultados de las funciones anteriores.

Un detalle importante

APILARH también puede crear matrices auxiliares

En la conciliación utilizamos APILARH de otra manera: para construir una fila de tres valores vacíos.

=FILTRAR(
    tblSistema,
    faltaSAT,
    APILARH("","","")
)

La expresión APILARH con tres cadenas vacías genera una matriz de una fila y tres columnas.

Columna 1

""

Columna 2

""

Columna 3

""

Si FILTRAR no encuentra registros, devuelve esa fila auxiliar. Así mantenemos una estructura compatible con las siguientes operaciones, en las que necesitamos tres columnas.

En el paso final de nuestra conciliación, eliminamos las filas auxiliares cuyo UUID está vacío.

Errores frecuentes

¿Qué ocurre si las matrices tienen distintas alturas?

APILARH admite matrices con diferentes cantidades de filas. Sin embargo, las posiciones sin datos disponibles se rellenan con el error #N/D.

Ejemplo

Si la primera matriz tiene cuatro filas y la segunda solamente dos, Excel genera una matriz de cuatro filas y rellena con #N/D las posiciones faltantes.

Error #N/D

Puede aparecer cuando las matrices no tienen la misma cantidad de filas. Puedes controlar el resultado con SI.ERROR cuando corresponda.

Error #¡DESBORDAMIENTO!

Aparece cuando existen datos que bloquean el espacio donde debería generarse la matriz dinámica.

Filas relacionadas

APILARH combina las matrices según su posición, no mediante una clave de búsqueda. Si sus filas no corresponden entre sí, el resultado puede asociar datos incorrectamente.

Aplicaciones

Cuándo utilizar APILARH

Combinar horizontalmente matrices y rangos.

Crear reportes con columnas calculadas.

Agregar etiquetas o descripciones a matrices dinámicas.

Construir estructuras que alimentarán otros cálculos y dashboards.

Funciones relacionadas

APILARH forma parte de las funciones de construcción matricial

APILARH dentro de una conciliación real

Aprende cómo combinar APILARH con FILTRAR, ELEGIRCOLS y LET para construir un reporte que identifica diferencias entre dos bases de datos.

Ver tutorial y archivo de práctica