By tornado el miercoles, 19 enero 2022
Publicado en Excel
Respuestas 1
Likes 0
Vistas 8.9K
Votos 0
Queridos todos

Si tengo la n-ésima fila (Número muy grande). Quiero contar los duplicados cada 10 celdas. Por ejemplo

Por ejemplo tengo el siguiente conjunto
2
1
1
1
1
1
1
3
2

Necesito contar los duplicados (teniendo en cuenta el primer duplicado), cada 3 celdas, es decir, la salida debe ser
2
1
3


Cualquier sugerencia
Gracias de antemano. 
Hola mtornado,

Para eliminar valores duplicados cada 10 celdas, haga lo siguiente:

  1. En su hoja de trabajo, presione otro + F11Y, a continuación, haga clic recuadro > Módulo;
  2. Copie el código a continuación y péguelo en el cuadro del módulo;
  3. Prensa F5 para ejecutar el código, verá un Kutools for Excel cuadro de diálogo como se muestra a continuación:
  4.   diálogo.png

  5. Regrese a su hoja de trabajo y seleccione el rango. Luego haga clic en el OK botón en el cuadro de diálogo.


Sub RemoveDuplicatesValue_10()

Dim xSltRg, xCells, xRg As Range
Dim xStartRg, xEndRg As Range
Dim xSInt, xCount, xRntInt, xNumInt, xF As Integer
On Error Resume Next

xSInt = 10
Set xSltRg = Application.InputBox("Select range:", "Kutools for Excel", , , , , , 8)
If xSltRg Is Nothing Then Exit Sub
Set xSltRg = Application.Intersect(ActiveSheet.UsedRange, xSltRg)
Set xSltRg = Application.Union(xSltRg, xSltRg.Item(1))
xCount = xSltRg.Count
xNumInt = Int(xCount / xSInt)
xRntInt = 0
xRntInt = xCount Mod xSInt
For xF = 1 To xNumInt
Set xStartRg = xSltRg.Item(((xF - 1) * xSInt + 1))
Set xEndRg = xSltRg.Item(xF * xSInt)
Set xCells = xSltRg.Worksheet.Range(xStartRg.AddressLocal & ":" & xEndRg.AddressLocal)
For xInt = xCells.Count To 1 Step -1
Set xRg = xCells.Item(xInt)
If WorksheetFunction.CountIf(xCells, xRg.Value) > 1 Then
xRg.Value = ""
End If
Next
Next
If xRntInt > 0 Then
Set xStartRg = xSltRg.Item(xNumInt * xSInt + 1)
Set xEndRg = xSltRg.Item(xCount)
Set xCells = xSltRg.Worksheet.Range(xStartRg.AddressLocal & ":" & xEndRg.AddressLocal)
For xInt = xCells.Count To 1 Step -1
Set xRg = xCells.Item(xInt)
If WorksheetFunction.CountIf(xCells, xRg.Value) > 1 Then
xRg.Value = ""
End If
Next
End If

End Sub


Tenga en cuenta que para eliminar valores duplicados cada N celdas, cambie el 10 en el código a N.

Amanda
·
Hace años 2
·
Le gusta 0
·
Votos 0
·
0 Comentarios
·
Ver publicación completa