By tornado w środę, 19 stycznia 2022
Opublikowany w przewyższać
Odpowiedzi 1
Lubi 0
odwiedzajacy 8.8 tysięcy
Głosów 0
Szanowni Państwo

Jeśli mam n-ty wiersz (bardzo duża liczba). Chcę policzyć duplikaty co 10 komórek. Na przykład

Na przykład mam następujący zestaw
2
1
1
1
1
1
1
3
2

Muszę policzyć duplikaty (biorąc pod uwagę pierwszy duplikat), co 3 komórki, czyli wyjście powinno być
2
1
3


Jakieś sugestie
Dzięki z góry. 
Cześć mtornado,

Aby usunąć zduplikowane wartości co 10 komórek, wykonaj następujące czynności:

  1. W swoim arkuszu naciśnij inny + F11, następnie kliknij wstawka > Moduł;
  2. Skopiuj poniższy kod i wklej go w polu modułu;
  3. Naciśnij przycisk F5 aby uruchomić kod, zobaczysz a Kutools dla programu Excel okno dialogowe, jak pokazano poniżej:
  4.   okno dialogowe.png

  5. Wróć do arkusza i wybierz zakres. Następnie kliknij OK przycisk w oknie dialogowym.


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


Zauważ, że aby usunąć zduplikowane wartości co N komórek, zmień 10 w kodzie na N.

Amanda
·
2 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Wyświetl pełny post