Ciao Rocco,
Temo fortemente di aver interpretato male la tua richiesta 😒
Quindi, per estrarre solo il primo errore per ogni matricola per data, una possibilità sarebbe quella di sfruttare la seguente UDF (funzione utente) come segue:
- Alt+F11 per aprire l'editor di VBA
- Alt+IM per inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'========>>
Option Explicit
'-------->>
Public Function Unica_Per_Data(oTabella As Range) As Variant
Dim arrIn As Variant, arrOut() As Variant
Dim UB As Long, UB2 As Long, iCtr As Long
Dim i As Long, j As Long, k As Long
Dim bMatch As Boolean
arrIn = oTabella.Value2
UB = UBound(arrIn)
UB2 = UBound(arrIn, 2)
For i = 1 To UB
bMatch = False
For j = 1 To iCtr
bMatch = arrIn(i, 1) = arrOut(1, j) And arrIn(i, 4) = arrOut(4, j)
If bMatch Then Exit For
Next j
If Not bMatch Then
iCtr = iCtr + 1
ReDim Preserve arrOut(1 To UB2, 1 To iCtr)
For k = 1 To UB2
arrOut(k, iCtr) = arrIn(i, k)
Next k
End If
Next i
Unica\_Per\_Data = Application.Transpose(arrOut)
End Function
'<<========
- Alt+Q per chiudere l'editor di VBA e tornare a Excel.
- Salva il file con l'estensione xlsm
Questa funzione viene immessa in una singola cella e può essere utilizzata come una funzione nativa di Excel. Ad esempio, immettendo la formula
**=Unica\_Per\_Dati(A2:E21)**
nella cella G2 restituisce i seguenti dati:

Potresti scaricare il mio file di prova Rocco20230724.xlsm
===
Regards,
Norman
