Técnicas antiguas para agrupar columnas por función

Última actualización el 25/06/2025
Tiempo de lectura: 3 minutos

La Función FILTRO, normalmente no permite devolver un resultado con columnas separadas. Pero al incluir la función FILTRO en otras funciones, podemos crear un filtro dinámico en columnas separadas..

Actualizados

Construir una matriz en la memoria

Cualquiera que sea la técnica que elijamos, tendremos que confiar en la creación de una matriz en la memoria (o también llamada matriz).

La función FILTRO ya devuelve una matriz. Y nos basaremos en esta característica para construir nuestra tabla en memoria. Pero eso no es todo, también tendremos que construir otro tipo de mesa, una matriz, para gestionar las columnas que se devolverán.

Este punto no es trivial para el futuro.. Porque dependiendo de las configuraciones de tu computadora, el delimitador puede ser:

  • ya sea el punto (.)
  • ya sea la coma (,)
  • ya sea la barra invertida (\)

Con la computadora que uso, el separador es el punto.

= {4.0.1.2}

Mostrar valores al escribir una matriz

La única forma de saber cuál es el delimitador en su computadora es probar cada símbolo para encontrar cuál es el correcto. Si no,usar VBA y ejecute la siguiente instrucción en la ventana de ejecución.

Su símbolo delimitador de una matriz regresa en VBA

Ésta es la única técnica para saber qué símbolo utilizar. La información no está presente en las opciones de Excel.

Presentación del problema a abordar.

Contamos con una tabla de 5 columnas que representa las ventas que hemos realizado a nuestros clientes.

Tabla inicial para filtrar

Queremos filtrar por la columna de fechas pero queremos devolver las otras 4 columnas (¿Tienda, Fruta, Cantidad y Liquidado?). Para ello existen 3 técnicas diferentes que detallaremos.

Utilice la función ELEGIR

En su uso normal, la función ELEGIR devuelve el valor n de una lista. Por ejemplo, la siguiente función devuelve el miércoles (el tercer día de la lista): =CHOISIR(3;"Lundi";"Mardi";"Mercredi";"Jeudi";"Vendredi")

Más en uso más complejo, podemos reemplazar el primer parámetro con una matriz y así devolver una matriz con un orden de columnas diferente.

=CHOISIR({1.2.3.4};A2:A16;B2:B16;D2:D16;E2:E16)

Tabla devuelta por la función ELEGIR

Entonces, todo lo que tenemos que hacer es usar esta fórmula como primer parámetro de la función FILTRO, para devolver nuestros datos filtrados con columnas separadas.

=FILTRE(CHOISIR({1.2.3.4};A2:A16;B2:B16;D2:D16;E2:E16);C2:C16=G2)

FILTRAR en columnas separadas con la función ELEGIR

Si desea cambiar el orden, simplemente seleccione las columnas en el orden que desee.

=FILTRE(CHOISIR({1.2.3.4};B2:B16;D2:D16;A2:A16;E2:E16);C2:C16=G2)

Columnas reordenadas usando la función ELEGIR

Construcción con la función ÍNDICE

La función ÍNDICE Devuelve la posición de un valor en la intersección de una fila y una columna.

Búsqueda de filas y columnas

Pero también podemos reemplazar los parámetros 2 y 3 de la función ÍNDICE con una matriz de filas y una matriz de columnas.

  1. Primer parámetro: La función FILTRO sobre toda la tabla; FILTRE(A2:E16;C2:C16=G2)
  2. Segundo parámetro: el número de filas a devolver usando una combinación entre funciones NB.SI.ENS et SECUENCIA. SEQUENCE(NB.SI.ENS(C2:C16;G2))
  3. Tercer parámetro: una matriz que representa los números de columna a devolver. {1.2.4.5}

La fórmula completa es la siguiente:

=INDEX(FILTRE(A2:E16;C2:C16=G2);SEQUENCE(NB.SI.ENS(C2:C16;G2));{1.2.4.5})

Función FILTRO con función ÍNDICE y SECUENCIA

Con esta técnica, es muy fácil intercambiar columnas simplemente cambiando el orden de las columnas que se devolverán, como {2.5.1.4}. Encontrará información adicional sobre la función ELEGIR en el sitio web de Microsoft.

4 Comentarios

  1. Nicolas
    07/02/2024 a las 12:08

    Hola,
    Simplemente recomiendo la combinación de FILTER y CHOISIRCOLS.
    cordialmente

    Responder

  2. Salim
    30/01/2023 a las 10:31

    Hola,

    Gracias por la demostración.
    ¿Funciona esto si uso una tabla de otra hoja?

    Cdt, Salim

    Responder

    • Frédéric LE GUEN
      30/01/2023 a las 13:07

      Sí, no hay ninguna razón por la que no debería funcionar.

      Responder

  3. Valérie
    07/05/2021 a las 11:34

    Hola,

    Cuando hago clic en Filtrar, el filtro solo aparece en una columna y no puedo crear un filtro en otra columna (los datos están desclasificados, solo quiero filtrar la información columna por columna). Pero cuando vuelvo a hacer clic en filtrar, me quita el filtro que puse, y no puedo seleccionar varias columnas para aplicarles un filtro simultáneamente.

    ¿Tienes algún consejo?

    Merci d'avance,
    Valérie

    Responder

Dejar un comentario

Su dirección de correo electrónico no será publicada. Los campos necesarios están marcados con *

Este sitio usa Akismet para reducir los no deseados. Obtenga más información sobre cómo se procesan sus datos de comentarios.

Jugador Más Valioso de Microsoft 2024

Boletín informativo

1 vez al mes:
Consejos y cuestionarios

    No te enviaremos spam. Puedes darte de baja en cualquier momento.

    Técnicas antiguas para agrupar columnas por función

    Tiempo de leer: 3 minutos
    Última actualización el 25/06/2025

    La Función FILTRO, normalmente no permite devolver un resultado con columnas separadas. Pero al incluir la función FILTRO en otras funciones, podemos crear un filtro dinámico en columnas separadas..

    Actualizados

    Construir una matriz en la memoria

    Cualquiera que sea la técnica que elijamos, tendremos que confiar en la creación de una matriz en la memoria (o también llamada matriz).

    La función FILTRO ya devuelve una matriz. Y nos basaremos en esta característica para construir nuestra tabla en memoria. Pero eso no es todo, también tendremos que construir otro tipo de mesa, una matriz, para gestionar las columnas que se devolverán.

    Este punto no es trivial para el futuro.. Porque dependiendo de las configuraciones de tu computadora, el delimitador puede ser:

    • ya sea el punto (.)
    • ya sea la coma (,)
    • ya sea la barra invertida (\)

    Con la computadora que uso, el separador es el punto.

    = {4.0.1.2}

    Mostrar valores al escribir una matriz

    La única forma de saber cuál es el delimitador en su computadora es probar cada símbolo para encontrar cuál es el correcto. Si no,usar VBA y ejecute la siguiente instrucción en la ventana de ejecución.

    Su símbolo delimitador de una matriz regresa en VBA

    Ésta es la única técnica para saber qué símbolo utilizar. La información no está presente en las opciones de Excel.

    Presentación del problema a abordar.

    Contamos con una tabla de 5 columnas que representa las ventas que hemos realizado a nuestros clientes.

    Tabla inicial para filtrar

    Queremos filtrar por la columna de fechas pero queremos devolver las otras 4 columnas (¿Tienda, Fruta, Cantidad y Liquidado?). Para ello existen 3 técnicas diferentes que detallaremos.

    Utilice la función ELEGIR

    En su uso normal, la función ELEGIR devuelve el valor n de una lista. Por ejemplo, la siguiente función devuelve el miércoles (el tercer día de la lista): =CHOISIR(3;"Lundi";"Mardi";"Mercredi";"Jeudi";"Vendredi")

    Más en uso más complejo, podemos reemplazar el primer parámetro con una matriz y así devolver una matriz con un orden de columnas diferente.

    =CHOISIR({1.2.3.4};A2:A16;B2:B16;D2:D16;E2:E16)

    Tabla devuelta por la función ELEGIR

    Entonces, todo lo que tenemos que hacer es usar esta fórmula como primer parámetro de la función FILTRO, para devolver nuestros datos filtrados con columnas separadas.

    =FILTRE(CHOISIR({1.2.3.4};A2:A16;B2:B16;D2:D16;E2:E16);C2:C16=G2)

    FILTRAR en columnas separadas con la función ELEGIR

    Si desea cambiar el orden, simplemente seleccione las columnas en el orden que desee.

    =FILTRE(CHOISIR({1.2.3.4};B2:B16;D2:D16;A2:A16;E2:E16);C2:C16=G2)

    Columnas reordenadas usando la función ELEGIR

    Construcción con la función ÍNDICE

    La función ÍNDICE Devuelve la posición de un valor en la intersección de una fila y una columna.

    Búsqueda de filas y columnas

    Pero también podemos reemplazar los parámetros 2 y 3 de la función ÍNDICE con una matriz de filas y una matriz de columnas.

    1. Primer parámetro: La función FILTRO sobre toda la tabla; FILTRE(A2:E16;C2:C16=G2)
    2. Segundo parámetro: el número de filas a devolver usando una combinación entre funciones NB.SI.ENS et SECUENCIA. SEQUENCE(NB.SI.ENS(C2:C16;G2))
    3. Tercer parámetro: una matriz que representa los números de columna a devolver. {1.2.4.5}

    La fórmula completa es la siguiente:

    =INDEX(FILTRE(A2:E16;C2:C16=G2);SEQUENCE(NB.SI.ENS(C2:C16;G2));{1.2.4.5})

    Función FILTRO con función ÍNDICE y SECUENCIA

    Con esta técnica, es muy fácil intercambiar columnas simplemente cambiando el orden de las columnas que se devolverán, como {2.5.1.4}. Encontrará información adicional sobre la función ELEGIR en el sitio web de Microsoft.

    Boletín informativo

    1 vez al mes:
    Consejos y cuestionarios

      No te enviaremos spam. Puedes darte de baja en cualquier momento.

      4 Comentarios

      1. Nicolas
        07/02/2024 a las 12:08

        Hola,
        Simplemente recomiendo la combinación de FILTER y CHOISIRCOLS.
        cordialmente

        Responder

      2. Salim
        30/01/2023 a las 10:31

        Hola,

        Gracias por la demostración.
        ¿Funciona esto si uso una tabla de otra hoja?

        Cdt, Salim

        Responder

        • Frédéric LE GUEN
          30/01/2023 a las 13:07

          Sí, no hay ninguna razón por la que no debería funcionar.

          Responder

      3. Valérie
        07/05/2021 a las 11:34

        Hola,

        Cuando hago clic en Filtrar, el filtro solo aparece en una columna y no puedo crear un filtro en otra columna (los datos están desclasificados, solo quiero filtrar la información columna por columna). Pero cuando vuelvo a hacer clic en filtrar, me quita el filtro que puse, y no puedo seleccionar varias columnas para aplicarles un filtro simultáneamente.

        ¿Tienes algún consejo?

        Merci d'avance,
        Valérie

        Responder

      Dejar un comentario

      Su dirección de correo electrónico no será publicada. Los campos necesarios están marcados con *

      Este sitio usa Akismet para reducir los no deseados. Obtenga más información sobre cómo se procesan sus datos de comentarios.