您好我有一个包含以下列的电子表格:
Transaction_ID counter State File_Date Date_of_Service Claim_Status NDC_9 Drug_Name Manufacturer Quantity Original_Patient_Pay_Amount Patient_Out_of_Pocket eVoucher_Amount WAC_per_Unit__most_recent_ RelayHealth_Admin_Fee Total_Voucher_Charge Raw_File_Name
此处有重复的交易ID。是否有VBA可以突出显示两行之间存在差异的位置?因此,可能存在具有相同交易ID的数据,但我想强调它们可能具有不同的其他字段的位置,因此它们不是真正重复的并且希望看到哪些信息是不同的。
谢谢!
答案 0 :(得分:0)
假设:
...以下代码(在SHeet的模块中)会将任何单元格黄色变为黄色,其值对于最左侧列中显示的ID是完全唯一的...
Option Explicit
Public Sub HighlightUniqueValues()
Dim r As Long, c As Long 'row and column counters
Dim LastCol As Long, LastRow As Long 'right-most and bottom-most column and row
Dim ColLetter As String
Dim RepeatValues As Long
'get right-most used column
LastCol = Me.Cells(1, Me.Columns.Count).End(xlToLeft).Column
'get bottom-most used row
LastRow = Me.Cells(Me.Rows.Count, "A").End(xlUp).Row
'assume first column has the main ID
For r = 2 To LastRow 'skip the top row, which presumably holds the column headers
For c = 2 To LastCol 'skip the left-most column, which should contain the ID
'Get column letter
ColLetter = Split(Cells(1, c).Address(True, False), "$")(0)
' Count the number of repeat values in the current
'column associated with the same value in the
'left-most column
RepeatValues = WorksheetFunction.CountIfs(Range("A:A"), Range("A" & r), Range(ColLetter & ":" & ColLetter), Range(ColLetter & r))
' If there is only one instance, then it's a lone
'value (unique for that ID) and should be highlighted
If RepeatValues = 1 Then
Range(ColLetter & r).Interior.ColorIndex = 6 'yellow background
Else
Range(ColLetter & r).Interior.ColorIndex = 0 'white background
End If
Next c
Next r
End Sub
答案 1 :(得分:0)
Excel&#39> 查找重复条件格式应该足够了。问题是它只适用于一列。
因此可能存在具有相同交易ID的数据,但我想突出显示其他字段不同的地方,因此它们并非真正重复
因此,您不必单独跟踪 Transaction ID 列中的重复项,而是可以尝试添加新列,并在该新列中连接组合值应<的所有列/ em>是唯一的 - 然后在 列上运行Excel的查找重复条件格式。
例如,如果[Transaction_ID],[File_Date]和[NDC_9]的组合应该是唯一的,请创建一个组合[Transaction_ID],[File_Date]和[NDC_9]列值的新列 - 假设您的数据位于实际的表你可以有一个像这样的表公式:
=[@Transaction_ID]&[@File_Date]&[@NDC_9]
并希望了解哪些信息不同。
然后,您可以过滤该列中的欺骗,然后查看其他列,您可以看到它们的不同之处。用你提出问题的方式来说,实际上不可能更具体......