Seleccionar Una de Cada Dos (o Una Enésima) Fila – Excel y Google Sheets
Descargar el Libro de Ejemplo
Este tutorial demostrará cómo obtener un valor de cada dos (o cada enésima) filas en Excel y Google Sheets.
Identificar cada dos filas
Para identificar cada dos filas, podemos utilizar la función RESIDUO para saber si cada fila es divisible por un número determinado. Aquí usaremos 2 para identificar cada dos filas (par / impar).
=RESIDUO(FILA(B3);2)
Lo veremos a continuación.
Función FILA – Devuelve el número de fila
En primer lugar, utilizaremos la función FILA para saber en qué fila nos encontramos:
=FILA(B3)
En la siguiente sección, utilizaremos la función RESIDUO para saber si el número de la fila es divisible por un número determinado, en este caso – 2.
Función RESIDUO – Muestra si la Fila es divisible por 2
La función RESIDUO nos mostrará si la fila en la que nos encontramos es divisible por 2.
=RESIDUO(C3;2)
Combinando estas funciones se obtiene la fórmula original.
=RESIDUO(FILA(B3);2)
Seleccionar cada enésima fila
Para obtener la tercera (enésima) fila, cambiamos el número a dividir por 3 (n).
=RESIDUO(C3;3)
Podemos activar el filtro para filtrar el resultado RESIDUO requerido para mostrar filas específicas.
Obtener el valor de cada enésima fila
Para obtener el valor de cada dos filas o de la enésima fila, podemos utilizar las funciones DESREF y FILA.
=DESREF($B$3;(FILA(D1)*2)-1;0)
A continuación lo veremos.
Devolver la enésima fila
Primero, usaremos la función ROW para obtener la primera fila. Copiando esta fórmula hacia abajo, significará que el número de fila recogido cambiará dinámicamente a medida que la fórmula lo haga.
=FILA(D1)
En la siguiente sección, utilizaremos la función DESREF para obtener el valor de la fila multiplicado por el valor por el que se desea compensar la fila.
=DESREF($B$3;(D3*2)-1;0)
Combinando estas funciones se obtiene la fórmula original.
=DESREF($B$3;(FILA(D1)*2)-1;0)
Escribir código VBA
Podemos utilizar un procedimiento VBA para recorrer un rango de celdas y devolver el valor de cada segunda o enésima celda.
El siguiente procedimiento recorrerá el rango de celdas y rellenará cada segunda fila de la columna C con el número correspondiente de la columna B.
Sub SelectAltRows()
Dim rng1 As Range
Dim rng2 As Range
Dim x As Integer
Dim NoRws As Integer
'seleccionar el rango
Set rng1 = Range("B1:B10")
'contar las filas
NoRws = rng1.Rows.Count
'rellenar la celda correspondiente de la columna C con el valor
For x = 1 To NoRws Step 2
rng1.Cells(x, 1).Offset(0, 1) = rng1.Cells(x, 1)
Next
End Sub
El resultado de ejecutar este procedimiento sería
Seleccionar una de cada dos (o una de cada n) filas en Google Sheets
Estas fórmulas funcionan exactamente igual en Google Sheets que en Excel