%20filas%20duplicadas%20en%20Excel%20S%C3%93LO%20SI%20hay%204%20o%20m%C3%A1s%20instancias%3F.png)
Tengo un documento de Excel que tiene más de 300 filas de datos. La columna A está ordenada por nombres de personal y necesito aislar sólo a las personas que tienenmenos de 4ocurrencias dentro de la hoja.
¿Hay alguna manera de eliminar todos los nombres con 4 o más? ¿O resaltar todos los nombres con 4 o más?
¡Gracias!
Respuesta1
Digamos que comenzamos con:
y ejecutamos esta breve macro:
Sub RowKiller101()
Dim rKill As Range, r As Range, wf As WorksheetFunction
Dim rBig As Range
Set rBig = Intersect(Range("A:A"), ActiveSheet.UsedRange)
Set rKill = Nothing
Set wf = Application.WorksheetFunction
For Each r In rBig
If wf.CountIf(rBig, r.Value) > 3 Then
If rKill Is Nothing Then
Set rKill = r
Else
Set rKill = Union(rKill, r)
End If
End If
Next r
If rKill Is Nothing Then Exit Sub
rKill.EntireRow.Delete
End Sub
Obtendremos:
Respuesta2
Para una solución que no sea VBA:
Coloque una fórmula como =countif($A:$A,$A1)
en la columna B, su hoja de cálculo ahora se verá así:
A B
1 Joe 3
2 Joe 3
3 Joe 3
4 Amy 5
5 Amy 5
6 Amy 5
7 Amy 5
8 Amy 5
Luego seleccione A1
, vaya a Formato condicional (regla personalizada) y escriba la fórmula =B1>=4
. Luego aplique la regla a todo lo que necesite en la columna A. La falta de un $
ancla significa que la regla se moverá junto con la celda aplicada.
Respuesta3
Estudiante de Gary: Solución de VBA para eliminar todo menos el grupo <4
selwyth: Solución de fórmula para filtrar solo al grupo <4
Esta respuesta: Solución de formato condicional para resaltar solo el grupo <4
(También puede consultar elArtículo de soporte de Officesobre el uso de fórmulas en formato condicional que, como resulta, se utiliza COUNTIF
como ejemplo).
- Seleccione el rango de datos (en el ejemplo, seleccioné todas las columnas
A:A
- En la
Home
cinta, haga clicConditional Formatting
y luegoNew Rule...
- Seleccionar
Use a formula to determine which cells to format
- Ingrese una fórmula como
=COUNTIF($A:$A,$A1)<4
A. Cambie$A:$A
a cualquier rango en el que esté buscando duplicados. Por ejemplo, podría ser$G$12:$G$48
. Es$
importante porque lo convierte en unreferencia absolutaeso no cambia de una celda a otra.
B. Cambie el$A1
alprimerocelda en el rango seleccionado. Tenga en cuenta que aquí solo hay uno$
porque solo queremos que la columna sea absoluta. Queremos que el número de fila (1
, en este caso) sea relativo a la celda actual.
C. El resultado es tal que el formato condicional paraA1
usará la fórmula=COUNTIF($A:$A,$A1)<4
pero, paraA2
, usará la fórmula=COUNTIF($A:$A,$A2)<4
. Esto es lo que hace por usted controlar las referencias absolutas versus relativas ($
o no ).$
- Haga clic en el
Format...
botón y seleccione el formato que desee. En este caso, elegí resaltar las celdas con un fondo amarillo. - Haga clic
OK
para cerrar la ventana de formato condicional y ver los resultados.
Tenga en cuenta que, debido a la forma en que hice esto, todas las filas en blanco también están resaltadas. Si eso no funciona para usted, existen algunas formas de solucionarlo. Recomiendo la Opción 1 porque es una forma sencilla de mantenerse al día con su lista a medida que crece.
- Cambie la fórmula que utiliza en el Paso 4 a
=AND($A1<>"",COUNTIF($A:$A,$A1)<4)
- En lugar de seleccionar todas las columnas
A:A
como hice en el Paso 1, seleccione solo su rango de datos. - Una vez creado el formato condicional, regrese a
Conditional Formatting Rules Manager
(cinta Inicio > Formato condicional > Administrar reglas...) y cambie elApplies to
campo=$A:$A
a algo específico como=$A$1:$A$19
. Este es el mismo resultado que usando la Opción 2 pero le permite cambiarlo después del hecho.