週三,19 2022月
  1 回复
  8.8K訪問
0
投票
復原
親愛的

如果我有第 n 行(非常大的數字)。 我想計算每 10 個單元格的重複項。 例如

例如我有以下設置
2
1
1
1
1
1
1
3
2

我需要計算重複項(考慮到第一個重複項),每 3 個單元格,即輸出應該是
2
1
3


任何建議
在此先感謝。 
嗨,龍捲風,

要刪除每 10 個單元格的重複值,請執行以下操作:

  1. 在您的工作表中,按 其他 + F11,然後單擊 插入 > 模塊;
  2. 複製下面的代碼,粘貼到模塊框中;
  3. 媒體推薦 F5 運行代碼,然後你會看到一個 Excel的Kutools 對話框如下圖:
  4.   對話框.png
  5. 返回您的工作表,然後選擇範圍。 然後點擊 OK 對話框上的按鈕。


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


請注意,要刪除每 N 個單元格的重複值,請將代碼中的 10 更改為 N。

阿曼達
附件 (1)
  • 頁:
  • 1
有沒有為這個職位尚未作出回复。