¿Cómo completar una columna completa (no consistente) según el valor anterior en Excel?

¿Cómo completar una columna completa (no consistente) según el valor anterior en Excel?

Entonces digamos que tengo los siguientes valores:

A2=a, A5=b, A6=c, A10=d

Básicamente quiero completar los valores anteriores de la siguiente manera:

A2:A4=a,A5=b, A6:A9=c,A10:A99999=d

Intenté esto: inserté una nueva columna a la derecha e hice algo como esto: =IF(A2="",A1,A2)pero esto funciona solo para las primeras 2 instancias en la columna B ya que hay más espacios y no siempre hay el mismo número de espacios. Obviamente me falta algo.

Gracias.

Respuesta1

No necesitas VBA para esto, casi lo tienes con tu propia fórmula. Sólo necesitas usar B1 en lugar de A1. Entonces B2 contendría:

=IF(A2="",B1,A2)

captura de pantalla

Respuesta2

Pruebe esta breve macro:

Sub FillDown()
   Dim rng As Range, r As Range
   Set rng = Range("A2:A99999")

   Application.ScreenUpdating = False
      For Each r In rng
         v = r.Value
         If v = "" Then r.Value = r.Offset(-1, 0)
      Next r
   Application.ScreenUpdating = True
End Sub

Las macros son muy fáciles de instalar y usar:

  1. ALT-F11 abre la ventana VBE
  2. ALT-I ALT-M abre un módulo nuevo
  3. pegue las cosas y cierre la ventana de VBE

Si guarda el libro, la macro se guardará con él. Si está utilizando una versión de Excel posterior a 2003, debe guardar el archivo como .xlsm en lugar de .xlsx.

Para eliminar la macro:

  1. abrir la ventana VBE como arriba
  2. borrar el código
  3. cerrar la ventana VBE

Para usar la macro de Excel:

  1. ALT-F8
  2. Seleccione la macro
  3. Toque EJECUTAR

Para obtener más información sobre las macros en general, consulte:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

y

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

¡Las macros deben estar habilitadas para que esto funcione!

información relacionada