Here is some generic code if you have to use VBA.
Ill also attach your example Workbook.
Sub Testing()
'SET THE COLUMN NUMBERS FOR EACH COLUMN HEADER
'JUST INCASE YOUR NOT IN COLUMNS A,B,C,D LIKE THE EXAMPLE
CPart = 1
CType = 2
CIssue = 3
CDuplicate = 4
'SOME CRAZY LOOP STUFF
i = 2
Do Until Cells(i, CPart).Value = ""
j = i + 1
Do Until Cells(j, CPart).Value = ""
If Cells(i, CPart).Value = Cells(j, CPart).Value Then
If Cells(i, CType).Value = Cells(j, CType).Value Then
If Cells(i, CIssue).Value = Cells(j, CIssue).Value Then
Cells(i, CDuplicate).Value = "Yes"
Cells(j, CDuplicate).Value = "Yes"
Else
'THIS IS GOING TO MISS SOME :) ILL GET THOSE LATER
If Cells(i, CDuplicate).Value = "" Then
Cells(i, CDuplicate).Value = "No"
End If
End If
End If
End If
j = j + 1
Loop
'WE'LL CATCH ALL THE ONES I MISSED EARILER HERE
If Cells(i, CDuplicate).Value = "" Then Cells(i, CDuplicate).Value = "No"
i = i + 1
Loop
End Sub