By mtornadă miercuri, 19 ianuarie 2022
postat în Excel
Răspunsuri 1
Preferințe 0
Vizualizări 8.9 K
Voturi 0
Dragilor

Dacă am al n-lea rând (număr foarte mare). Vreau să număr duplicatele fiecare 10 celule. De exemplu

De exemplu, am următorul set
2
1
1
1
1
1
1
3
2

Trebuie să număr duplicatele (ținând cont de primul duplicat), fiecare 3 celule, adică rezultatul ar trebui să fie
2
1
3


Orice sugestii
Mulțumesc în avans. 
Salut mtornado,

Pentru a elimina valorile duplicate la fiecare 10 celule, procedați după cum urmează:

  1. În foaia de lucru, apăsați Alt + F11, apoi apasa Insera > Module;
  2. Copiați codul de mai jos și inserați-l în caseta modulului;
  3. Anunturi F5 pentru a rula codul, atunci veți vedea a Kutools pentru Excel dialog după cum se arată mai jos:
  4.   dialog.png

  5. Reveniți la foaia de lucru și selectați intervalul. Apoi faceți clic pe OK butonul de pe dialog.


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


Rețineți că pentru a elimina valorile duplicate la fiecare N celule, schimbați 10 din cod în N.

Amanda
·
de ani în urmă 2
·
0 Îi place
·
0 Voturi
·
4 Comentarii
·
Vizualizați mesajul complet