Cómo reducir el tamaño de un archivo Excel

Cada herramienta tiene un alcance. Excel no está preparado para manejar grandes volúmenes de datos. Cuando tus archivos de Excel tienen un gran tamaño, como aquellos que superan los 100 MB, pueden comenzar a arrojarte fallas y entorpecer tu trabajo. Errores durante la apertura, lentitud ante cualquier operación por simple que sea, fallas durante el guardado, son algunos de los problemas más frecuentes que suelen presentarse al trabajar con archivos grandes en Excel. Reducir el tamaño de un archivo Excel puede entonces volverse clave.

No podemos solucionar todos los problemas, pero a lo largo de este artículo podrás descubrir varios trucos que te harán más sencillo trabajar con archivos grandes en Excel y te permitirán ahorrar el más valioso de tus recursos: tu tiempo.

Para desarrollar este tutorial empleamos un archivo Excel de 126 MB, con datos de números aleatorios cargados en el rango A1:CV100000, para un total de 100.000 registros, 100 columnas, 10.000.000 de datos, sin formulaciones, ni imágenes, ni código VBA.

enter image description here

Nota Importante

Antes de probar los métodos detallados en este tutorial te recomiendo que pruebes los enfoques más simples. Por ejemplo valida si tu archivo contiene cálculos redundantes, gráficos que no estás utilizando, hojas de trabajo, fórmulas o tablas dinámicas obsoletas y elimina estos elementos. Del mismo modo si has insertado imágenes revisa su tamaño por que estas suelen ocupar mucho espacio. Prueba comprimir todas las imágenes de tu libro a una resolución menor.

Recuerda siempre guardar una copia del archivo original antes de intentar de reducir su tamaño. En caso de no hacerlo corres el riesgo de perder toda tu información si alguna de las operaciones de reducción falla.

reducir el tamaño de un archivo Excel

1. Borra el contenido de todas las celdas que no estés utilizando.

Tamaño del archivo original: 126 MB

Tamaño del archivo tras aplicar el método: 99,8 MB

Espacio ahorrado con este método: 26,2 MB

Tasa de Reducción: -21 %

Puede parecer una tontería pero no imaginas como este simple truco puede ayudarte a reducir el tamaño de un archivo Excel muy pesado.

¿Cómo hacerlo? Busca la última fila en uso dentro de cada una de las hojas de tu archivo, borra todo el contenido de las filas que se encuentren por debajo de esta, busca la última columna de cada una de las hojas de tu archivo, borra todas las columnas que se encuentren después de esta, guarda tu archivo y vuelve a abrirlo.

Tip: Utiliza el método abreviado Ctrl+Fin para encontrar la última celda con datos de la hoja. A partir de allí puedes seleccionar toda la fila inferior y presionar Ctrl+Shift+Abajo. Para finalizar con el método abreviado Ctrl- puedes borrar todo el contenido de las celdas seleccionadas. Repite los pasos anteriores pero esta vez seleccionando toda la columna posterior a la última celda encontrada para borrar todo el contenido restante.

En nuestra práctica tras aplicar este método logramos reducir el tamaño del archivo Excel de prueba un 21%. Nada mal para una técnica tan sencilla. ¿No crees?

enter image description here

2. Salva tus archivos en formato .xlsb

Tamaño del Archivo Original: 126 MB

Tamaño del Archivo Reducido: 80,8 MB

Espacio Ahorrado con este Método: 45,2 MB

Tasa de Reducción: -36 %

Te voy revelar algo. El clásico formato .xlsx de Excel es en realidad algo similar a un documento ZIP que incluye un archivo XML. Si aún lo dudas, adelante, toma un archivo Excel con el que quieras experimentar, cambia su extensión .xlsx por una extensión .zip y descomprime el resultado con tu aplicación preferida. ¿Sorprendido?

En cambio los archivos de Excel que son guardados con el formato .xlsb son archivos binarios. Esto tiene grandes ventajas cuando trabajamos con volúmenes grandes de información, considerando que el formato .xlsb emplea considerablemente menos espacio que el formato .xlsx. En algunos casos puedes alcanzar una reducción de hasta 50% menos tamaño.

Adicionalmente también ahorrarás tiempo al abrir y guardar tus archivos, mejorará el rendimiento del archivo y obtendrás más rápida respuesta a las operaciones que apliques, dado que los datos binarios se cargan más rápido que los datos de texto de un archivo XML. Por poco lo olvido: también podrás desarrollar y guardar formulas por encima del límite de los 8192 caracteres. Si acaso necesitas hacer una fórmula de ese largo, claro.

Aunque las ventajas son muchas existen algunas desventajas que debes considerar. Por ejemplo, puedes encontrar algunos problemas de compatibilidad si intentas usar tus archivos con ser vicios de terceros que usen el formato OpenXML para leer archivos Excel. Así que si no piensas integrar los datos con otras aplicaciones no hay mayor drama, usa el formato .xlsb.

Como resultado de aplicar este método en nuestra práctica logramos reducir un sorprendente 36%. ¡Sin dudas una excelente opción!

enter image description here

3. Eliminar el formato de todas las celdas en uso.

Tamaño del Archivo Original: 126 MB

Tamaño del Archivo Reducido: 99,8 MB

Espacio Ahorrado con este Método: 26,2 MB

Tasa de Reducción: -21 %

Los formatos hacen estéticamente más atractivos tus archivos y en algunos casos nos facilitan la legibilidad de los datos. Pero cuando se trata de reducir el tamaño de un archivo Excel excesivamente grande lo importante no es su estética. Lo que te interesa es trabajar con mayor eficiencia. así que lo mejor es eliminar todos los formatos: color de fondo de las celdas, color de fuentes, formatos condicionales, negritas, etc.

Aplicar esta técnica nos permitió en nuestro experimento reducir el tamaño del archivo Excel un 21%. Una reducción similar a la alcanzada con el método 1. Archivos planos e incoloros pero más ligeros.

enter image description here

4. Descomprime el archivo Excel y comprime de nuevo con un método de compresión mejor.

Tamaño del Archivo Original: 126 MB

Tamaño del Archivo Reducido: 109 MB

Espacio Ahorrado con este Método: 17 MB

Tasa de Reducción: -13%

¿Qué tal si aprovechamos algo de lo que aprendimos en el método 2? Como ya lo hablamos el formato .xlsx de Excel es en realidad algo similar a un documento ZIP con un archivo XML.  Podemos aprovechar esta propiedad para intentar de comprimir aún más con una herramienta clásica de compresión de archivos.

Primero que todo crea una copia del libro Excel a reducir y guarda tu archivo original en un lugar seguro. A continuación cambia la extensión de tu archivo Excel del .xlsx a .zip.

En el caso de que no puedas ver las extensiones de tus archivos debes hacer un pequeño cambio en el explorador. En Windows, entra en tu disco C o en cualquier carpeta de datos, busca la ficha Organizar y selecciona la opción Opciones carpeta y búsqueda. En la ventana emergente Opciones de carpeta selecciona la ficha Ver y desmarca la opción Ocultar las extensiones de archivo para tipos de archivos conocidos.

Opciones de carpeta Windows

Presiona el botón Aceptar y ya podrás desde ahora ver y editar las extensiones de tus archivos.

Ahora es momento de hacer el cambio de extensión al archivo al cual queremos reducir el tamaño de .xlsx a .zip, tal como si cambiaras el nombre del archivo tan solo que editando también la extensión del mismo.

enter image description here

Descomprime el archivo ZIP resultante con tu herramienta favorita (WinZip, WinRar, 7-Zip, etc.). Deberás obtener como resultado un archivo XML y tres carpetas como las de la siguiente imagen:

enter image description here

Selecciona los archivos resultantes nuevamente y vuelve a comprimir todo seleccionando el mejor método de compresión que tengas a disposición en tu herramienta. Para finalizar cambia la extensión de tu archivo, de .zip a .xlsx.

Como resultado de aplicar este método alcanzamos reducir el tamaño del archivo Excel original en un 13%. La peor tasa de reducción entre todos los métodos seleccionados, pero de seguro si combinamos este método con algunos de los anteriores nos ayuda a seguir restando peso al archivo.

enter image description here

5. Aplicar una combinación de métodos.

Si aplicamos una combinación de los métodos anteriores ¿Cuanto lograremos reducir en total el tamaño de nuestro abultado archivo Excel?

Lo primero a considerar es cuales de los métodos anteriores combinar. Solo hace sentido solo combinar el 1, 2 y 3, es decir borrar el contenido de todas las celdas que no estés utilizando, eliminar el formato de todas las celdas en uso y por último guardar el archivo como libro binario de Excel.

La reducción en este caso es de un 37% menos peso que el archivo original, logrando bajar 46,2 MB en total. Sin duda la mayor responsabilidad de la baja la tiene la conversión a libro binario de Excel y algo ayuda aplicar los otros métodos.

enter image description here

Bonus: Reducir el tamaño de un archivo Excel vía VBA.

Antes de cerrar este artículo te dejo un último regalo adicional: un sexto método que te hará la vida mucho más sencilla. Se trata de una macro para reducir el tamaño de un archivo Excel de forma automática. Tan solo será necesario que copies el código de esta macro en un nuevo módulo de VBA y lo ejecutes desde cualquier hoja. Hace lo mismo que recomendamos en el paso 3 pero de forma automatizada. Recuerda hacerlo siempre desde una copia de tu archivo original, nunca se sabe si algo falla.

Option Explicit
Sub REDUCIR_TAMAÑO_ARCHIVO_EXCEL()

 Dim WSheet As Worksheet
 Dim CSheet As String 'Nueva Hoja de Cálculo
 Dim OSheet As String 'Vieja Hoja de Cálculo
 Dim Col As Long
 Dim ECol As Long 'Última Columna
 Dim lRow As Long
 Dim BRow As Long 'Última Fila
 Dim Pic As Object
 
 For Each WSheet In Worksheets
 WSheet.Activate
 'Carga las hojas en una variable para que sea fácil ir y venir
 CSheet = WSheet.Name
 'Cambia el nombre agregando al final _Delete
 OSheet = CSheet & "_Delete"
 WSheet.Name = OSheet
 'Añade una nueva hoja y le da el nombre original de la hoja anterior
 Sheets.Add
 ActiveSheet.Name = CSheet
 Sheets(OSheet).Activate
 'Encuentra la última celda con datos en cada columna y su correspondiente número de fila
 For Col = 1 To Columns.Count 'Find the actual last bottom row
 If Cells(Rows.Count, Col).End(xlUp).Row > BRow Then
 BRow = Cells(Rows.Count, Col).End(xlUp).Row
 End If
 Next
 
 'Encuentra la última celda con datos en cada fila que tiene datos y su correspondiente número de columna
 For lRow = 1 To BRow 'Encuentra la última columna a la derecha
 If Cells(lRow, Columns.Count).End(xlToLeft).Column > ECol Then
 ECol = Cells(lRow, Columns.Count).End(xlToLeft).Column
 End If
 Next
 
 'Copia el conjunto de datos
 Range(Cells(1, 1), Cells(BRow, ECol)).Copy
 Sheets(CSheet).Activate
 'Pega todo
 Range("A1").PasteSpecial xlPasteAll
 'Pega el ancho de las columnas
 Range("A1").PasteSpecial xlPasteColumnWidths

 Sheets(OSheet).Activate
 For Each Pic In ActiveSheet.Pictures
 Pic.Copy
 Sheets(CSheet).Paste
 Sheets(CSheet).Pictures(Pic.Index).Top = Pic.Top
 Sheets(CSheet).Pictures(Pic.Index).Left = Pic.Left
 Next Pic
 Sheets(CSheet).Activate
 
 'Resete las variables para la siguiente hoja de cálculo
 BRow = 0
 ECol = 0
 Next WSheet
 
 ' Excel reemplazará automáticamente las referencias de hoja en tus fórmulas
 ' con la ayuda de la siguiente codificación.
 ' Simplemente reemplazaremos _Delete por nada
 For Each WSheet In Worksheets
 WSheet.Activate
 Cells.Replace "_Delete", ""
 Next WSheet
 
 'Va recorriendo el libro y borra todas las hojas grandes
 For Each WSheet In Worksheets
 If Not Len(Replace(WSheet.Name, "_Delete", "")) = Len(WSheet.Name) Then
 Application.DisplayAlerts = False
 WSheet.Delete
 Application.DisplayAlerts = True
 End If
 Next
End Sub

No lo olvides. Si este artículo te resultó útil para reducir el tamaño de un archivo Excel que te daba verdaderos dolores de cabeza riega la voz y compártelo con todos tus compañeros a través de las redes sociales.

Espero que todos los métodos descritos te sean de máxima utilidad en tu día a día. Y si conoces algún otro método que pueda complementar los ya descritos no dejes de comentarlo.

24 Comentarios

  1. Esteban 22/07/2015
  2. Diego Aristizábal 22/07/2015
  3. Giovanni La Rotta 11/08/2015
  4. Alejandro Cabrera 12/11/2015
  5. Fabio Duarte 05/01/2016
  6. Viktor 16/01/2016
  7. Aarón Morales Santiago 25/01/2016
  8. Diego Garcia 27/01/2016
  9. Víctor Esparza 28/03/2016
  10. JESUS 29/04/2016
  11. Esau N. 13/05/2016
  12. Marvin 06/06/2016
  13. Jorge E. R. 29/07/2016
  14. Hector 08/08/2016
  15. maria 12/08/2016
  16. Jesús Larrea 25/08/2016
  17. Patricia 04/10/2016
  18. Gabriel Bazán 13/10/2016
  19. Percy Prieto 16/10/2016

Deja un comentario:

¿Te vas sin unirte a nuestro Boletín Semanal?

Recibe gratis en tu correo cada semana nuevos recursos para hacer cosas asombrosas en Excel

Odiamos el SPAM tanto como tú, tus datos están seguros con nosotros.