Середа, 19 січень 2022
  1 відповіді
  8.8 тис. Відвідувань
0
Голосів
розстібати
Любі мої

Якщо я маю n-й рядок (дуже велике число). Я хочу порахувати дублікати в кожній 10 клітинці. Наприклад

Наприклад, у мене є наступний набір
2
1
1
1
1
1
1
3
2

Мені потрібно порахувати дублікати (враховуючи перший дублікат), кожні 3 клітинки, тобто результат повинен бути
2
1
3


Будь-які пропозиції
Заздалегідь спасибі. 
2 років тому
·
# 2441
0
Голосів
розстібати
Привіт, mtornado,

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

  1. У робочому аркуші натисніть інший + F11, потім натисніть кнопку Insert > Модулі;
  2. Скопіюйте наведений нижче код і вставте його в поле модуля;
  3. прес F5 щоб запустити код, ви побачите a Kutools для Excel діалогове вікно, як показано нижче:
  4.   dialog.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
На цю посаду ще немає відповідей.