By tornado mercoledì 19 gennaio 2022
pubblicato in Excel
Risposte 1
Mi piace 0
Visualizzazioni 8.9K
voti 0
Cari tutti

Se ho l'ennesima riga (numero molto grande). Voglio contare i duplicati ogni 10 celle. Per esempio

Ad esempio ho il seguente set
2
1
1
1
1
1
1
3
2

Ho bisogno di contare i duplicati (tenendo conto del primo duplicato), ogni 3 celle, ovvero l'output dovrebbe essere
2
1
3


Eventuali suggerimenti
Grazie in anticipo. 
Ciao Mtornado,

Per rimuovere i valori duplicati ogni 10 celle, eseguire le seguenti operazioni:

  1. Nel tuo foglio di lavoro, premi altro + F11, quindi fare clic inserire > Moduli;
  2. Copia il codice qui sotto e incollalo nella casella del modulo;
  3. Rassegna Stampa F5 per eseguire il codice, vedrai a Kutools for Excel finestra di dialogo come mostrato di seguito:
  4.   dialogo.png

  5. Torna al tuo foglio di lavoro e seleziona l'intervallo. Quindi fare clic su OK pulsante nella finestra di dialogo.


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


Nota che per rimuovere i valori duplicati ogni N celle, cambia il 10 nel codice in N.

Amanda
·
anni fa, 2
·
0 Piace
·
0 Voti
·
Commenti
·
Visualizza il post completo