By торнадо в среду, 19 января 2022 г.
Опубликовано в Excel
Ответы 1
Лайк 0
Просмотры 8.8K
Голосов 0
Уважаемые все

Если у меня есть n-я строка (очень большое число). Я хочу подсчитать дубликаты каждые 10 ячеек. Например

Например, у меня есть следующий набор
2
1
1
1
1
1
1
3
2

Мне нужно подсчитать дубликаты (с учетом первого дубликата), каждые 3 ячейки, т.е. вывод должен быть
2
1
3


Любые предложения
Спасибо заранее. 
привет, мторнадо

Чтобы удалить повторяющиеся значения через каждые 10 ячеек, сделайте следующее:

  1. На рабочем листе нажмите другой + F11, затем нажмите Вставить > Модули;
  2. Скопируйте приведенный ниже код и вставьте его в поле модуля;
  3. Нажмите F5 для запуска кода, вы увидите Kutools for Excel диалоговое окно, как показано ниже:
  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.

Аманда
·
2 лет назад
·
0 Любит
·
0 Голосов
·
0 комментариев
·
Посмотреть сообщение полностью