Influcharlas: John y Leo domando matrices
Esta vez resolvemos un par de casos con las explicaciones de @JohnVergaraD y @LEO_rumano.
En esta sesión de las Influcharlas, la comunidad de InflueXcel recupera el espíritu de sus primeras charlas en directo: compartir casos reales que van surgiendo en el grupo de WhatsApp y desgranar entre todos por qué una solución funciona. John y Leo nos guían a través de dos retos centrados en algo que apasiona a la comunidad: domar matrices dinámicas en Excel. A continuación tienes el resumen de lo que se explicó, con las funciones y la lógica detrás de cada solución.
El reto de John: totalizar tres pseudotablas con encabezados desordenados
El primer caso lo planteó Juan en el chat. Tenía la información organizada en tres tablas (en realidad, tres rangos de celdas) apiladas una encima de otra, con un número variable de filas y con las columnas en distintas posiciones. El objetivo: a partir de unos encabezados de referencia, extraer y totalizar las columnas correctas de cada tabla, sin importar dónde estuvieran.
Elegir columnas con ELEGIRCOLS
La pieza central es ELEGIRCOLS, una función que permite extraer las columnas que quieras de una matriz o un rango. Tiene dos formas de usarla:
- Pasando los índices uno a uno como argumentos:
ELEGIRCOLS(rango; 1; 4; 7; 10). - Pasando una sola constante matricial con todos los índices en un único argumento.
Calcular los índices con COINCIDIRX
Para no localizar a mano la posición de cada encabezado, John usa COINCIDIRX. La recomendación es clara: si tienes Microsoft 365 y buscas coincidencia exacta, usa COINCIDIRX en lugar de COINCIDIR, porque trabaja con coincidencia exacta por defecto y te ahorra el tercer argumento. Pasándole como valor buscado la matriz de encabezados deseados y como matriz buscada la primera fila del rango, devuelve una constante matricial con los índices que ELEGIRCOLS necesita (se puede comprobar con F9).
Encapsular la lógica en una LAMBDA con LET
Para no repetir la misma fórmula en cada tabla, John crea una función propia con LET y LAMBDA, asignándole un nombre (f). La función recibe una sola entrada, el rango (R), y dentro:
- Toma la primera fila del rango con
TOMARpara obtener los encabezados. - Calcula los índices con
COINCIDIRX. - Devuelve las columnas con
ELEGIRCOLS, excluyendo la primera fila para no arrastrar los encabezados.
Apilar, agrupar y sumar
Con la función lista, se apilan los tres resultados con APILARV, igualando el ancho de los rangos (por ejemplo, hasta la columna Z) para cubrir cualquier número de columnas. Después se guarda esa base en una variable (b) y se aplica AGRUPARPOR:
- Primer argumento: la primera columna (la de trabajador), que marca el sentido de las filas.
- Segundo argumento: las columnas a sumar, usando
EXCLUIRpara quitar la primera columna. - Función de agregación:
SUMA. - Último argumento: un
3para indicar que la primera fila es el encabezado y debe mostrarse.
El resultado es una totalización limpia, con encabezados incluidos, generada de forma totalmente dinámica. John también compartió su filosofía de trabajo: primero monta la maqueta mental de variables y, una vez resuelto, vuelve sobre la fórmula para optimizar pasos, como reutilizar la apilación dentro de la base para evitar repetir APILARV.
El reto de Leo: buscar el último elemento sin concatenar
El segundo caso lo trajo Leo. Juan buscaba todas las coincidencias de una factura y las concatenaba con MATRIZATEXTO, pero solo le interesaba el último resultado. La solución directa evita todo ese rodeo.
BUSCARX desde el final
BUSCARX permite buscar un valor en toda una columna y devolver la coincidencia, trabajando con rangos completos. La clave está en su último argumento, el modo de búsqueda: poniéndolo en negativo (-1), la búsqueda empieza desde el final hacia el principio, devolviendo directamente la última coincidencia. Sin necesidad de concatenar ni separar nada.
TEXTODESPUES para extraer el último de una cadena
Si ya partes de una cadena con varios elementos separados por un delimitador, la forma más sencilla de quedarte con el último es TEXTODESPUES. Indicando el texto, el delimitador (por ejemplo ; seguido de un espacio, como lo genera MATRIZATEXTO) y la instancia en negativo (-1), la función cuenta desde el final y devuelve el último fragmento. Igual que TOMAR, el signo negativo cambia el sentido del recorrido.
Un apunte sobre delimitadores
Leo recomienda evitar MATRIZATEXTO cuando vas a compartir el archivo: el delimitador depende de la configuración regional y puede generar conflictos al dividir después. En su lugar, sugiere UNIRCADENAS, donde el delimitador se especifica de forma explícita.
Funciones que devuelven referencia
La charla derivó en un tema interesante: BUSCARV devuelve un valor, mientras que BUSCARX devuelve una referencia. Pero no es la única: DESREF, INDIRECTO, INDICE, TOMAR y EXCLUIR también devuelven referencias cuando trabajan con rangos contiguos (no con matrices). Esto importa porque funciones como las del tipo .SI.CONJUNTO o JERARQUIA solo trabajan con rangos, no con matrices.
Conclusión
Más allá de las funciones concretas, la sesión deja una idea de fondo: en Excel moderno lo difícil no es conocer ELEGIRCOLS, AGRUPARPOR o BUSCARX, sino saber en qué momento y cómo aplicarlas, encajando las piezas como en un Tetris. Las matrices dinámicas, con relativamente pocas funciones, ofrecen una enorme combinatoria, y herramientas como Excel Labs ayudan a leer las fórmulas línea a línea y hacerlas mucho más comprensibles. El consejo final de la comunidad es claro: si aún no lo haces, da el siguiente paso y métete de lleno con las matrices.
Más contenido de Excel en InflueXcel
- Listas desplegables en cascada de n niveles con una sola validación y filas independientes CasoJuan planteó un reto que muchos hemos sufrido: un formulario en forma de rejilla con listas desplegables en cascada. Al elegir la familia en
- Interactive Canvas en Excel: dashboards interactivos con Copilot (Gantt, Sankey y más) TutorialInteractive Canvas es la nueva función de Copilot en Excel que crea dashboards interactivos dentro de tu libro con una sola frase: desde una
- SUMAR.SI.CONJUNTO en Excel: las 5 dudas más buscadas, resueltas (y por qué no acepta ELEGIRCOLS) TutorialLe pregunté a Copilot cuáles son las 5 dudas que más se buscan sobre la función SUMAR.SI.CONJUNTO y las resuelvo una a una en Excel, cada un
- Copilot vs Claude en Excel: les pido la misma plantilla de gastos y las someto a 10 pruebas TutorialLe pedí a Copilot en Excel (GPT-6 Sol) y a Claude en Excel (Opus 5.5) exactamente la misma plantilla para controlar los gastos de casa, con
- Listado filtrado en bloques por mes, con una fila de recuento debajo de cada mes CasoLuis trae un informe de clientes muy habitual: una tabla T_BD con la fecha de alta de cada cliente y una fecha tope de vencimiento (=FECHA.M
- FILTRAR en Excel: las 5 dudas más buscadas, resueltas (y una extra: filtrar entre fechas) TutorialLe preguntamos a Copilot cuáles son las 5 dudas que más se buscan sobre FILTRAR y las resolvemos una a una en Excel, cada una con un truco e
- Copilot vs Claude en Excel: les pido la misma plantilla de vacaciones y las someto a 10 pruebas TutorialLe pedí a Copilot en Excel (GPT-6 Sol) y a Claude en Excel (Opus 5.5) exactamente la misma plantilla para controlar las vacaciones de un equ
- Unir las columnas de cada fila con BYROW sin que sobre el separador del final: doce maneras CasoJuan tenía dos columnas por fila, un código (A.5) y una descripción (b) Prestaciones de servicios), y quería unirlas con un guion en medio:
- Crear el árbol de carpetas del año desde Excel con una macro parametrizable CasoEsta vez no hay una pregunta que resolver: Héctor pasó por el grupo y dejó directamente la herramienta, una macro que crea en Windows la car
- Bonus con umbral mínimo y tope máximo: SI.CONJUNTO vs multiplicación booleana CasoJuan plantea un problema de cálculo de bonus con reglas de negocio concretas: un importe de 9.000 euros se reparte entre varios epígrafes, c