En este post, les mostraré cómo mejorar un proceso clásico en Excel: listar los nombres de los archivos de una carpeta, sin usar macros ni Power Query, solo fórmulas. Además, lograremos que el proceso sea dinámico, utilizando técnicas avanzadas.
Cómo Listar Nombres de Archivos de una Carpeta desde Excel
Suscríbete para más tutoriales
Descarga el archivo para practicar
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
Paso 1: Introducir la Ruta de la Carpeta
Primero, en una celda (por ejemplo, A1), introduce la ruta de la carpeta de la que deseas listar los archivos, incluyendo el comodín *.* para incluir todos los archivos.
C:\Users\Sergio Campos.SERGIOPC\Documents\*.*
Paso 2: Usar la Función ARCHIVOS (Excel 4.0)
La función ARCHIVOS proviene de las macros de Excel 4.0, una versión anterior a VBA. Aunque no está disponible directamente en la interfaz actual, aún se puede usar a través de nombres definidos.
Paso 3: Crear un Nombre Definido
- Presiona
Ctrl + F3para abrir el Administrador de Nombres. - Haz clic en “Nuevo…” y define un nuevo nombre:
- Nombre:
ListaArchivos - Se refiere a: =ARCHIVOS(‘Hoja1’!$A$5)
- Nombre:
- Haz clic en “Aceptar”.
Paso 4: Usar la Función INDICE para Devolver el Listado de Archivos
En la celda B1, utiliza la siguiente fórmula para empezar a listar los archivos:
=SI.ERROR(INDICE(ListaArchivos,FILA(A1)),"")
Arrastra esta fórmula hacia abajo para obtener la lista completa de archivos. La función IFERROR asegura que las celdas vacías no muestren errores.
Paso 5: Hacer Dinámica la Fórmula que Devuelve los Nombres

Para hacer que la fórmula sea dinámica y se actualice automáticamente:
- Vuelve al Administrador de Nombres (
Ctrl + F3). - Selecciona
ListaArchivosy haz clic en “Modificar”. - Cambia la fórmula a
=ARCHIVOS('Hoja1'!$A$5&T(AHORA()))
La función T(NOW()) hace que la fórmula sea volátil y se recalcula cada vez que hay un cambio en la hoja.
Paso 6: Mejorar la Fórmula con Funciones de Matrices Dinámicas
Finalmente, para evitar tener que arrastrar la fórmula, usa TRANSPOSE y FILTER:
En la celda B1, introduce la siguiente fórmula:
=TRANSPONER(FILTRAR(ListaArchivos,ListaArchivos<>""))
Esto hará que la lista de archivos se rellene automáticamente en las celdas hacia abajo.
Conclusión
Este ejercicio lo verás en muchos videos, donde generalmente utilizan una fórmula y la arrastran hacia abajo. Sin embargo, en este post hemos llevado el proceso un paso más allá, convirtiendo la fórmula en una fórmula dinámica que se actualiza automáticamente y no necesita ser arrastrada.
Si te gusta mejorar procesos y darles un plus, ¡regálame un like y suscríbete a mi canal!
