我需要一些帮助来获取验证以下内容的正确公式。我们有客户名单,其中包含客户名称、在我们的系统中注册的客户编号以及在另一个计费系统中注册的客户编号。由于我们发现数据中存在一些差异,因此我们现在需要使用系统中最近更新的数据来验证具有相同数据的旧名单。
这意味着我们需要将第一个列表中的 CU 编号 + Cu 账单编号列与第二个列表中的相同两列进行比较,因为我们发现它们旁边的 CU 编号和不正确的 CU 账单编号存在差异和混合:列表 1:
CU name CU number CU billing number
Aert BR345 3456
Bert BR456 2345
Port BR567 5678
清单 2:
CU name CU number CU billing number
Aert BR345 3456
Bert BR344 2345
Port BR567 5678
您能否建议什么公式可以帮助我交叉检查列表 1 中的 2 列和列表 2 中的 2 列?
答案1
首先,请注意 CharlieRB 的评论,您的问题中没有足够的细节,所以我的回答是基于一些假设的。其次,这是一种验证数据的基本方法,但它可以相对快速地完成工作。
假设您的示例表的列分别为 A、B 和 C,并且第 1 行用于这些标题;将标题“B 列验证”添加到 E1,并将“C 列验证”添加到 F1(参见下图)。
现在使用相同的布局,将备份数据粘贴到同一工作簿的单独工作表中。
返回原始工作表并在 E2 中输入此公式:
=IF($B2=Sheet2!$B2, "Good", "Bad")
然后 F2 中的这个公式:
=IF($C2=Sheet2!$C2, "Good", "Bad")
注意:显然,如果您的工作表名称不同或起始单元格位于不同的位置,则需要修改公式来反映它。
将两列向下拖至电子表格的最后一行。最后,如果您想对其进行颜色编码,可以使用条件格式。
再次强调,这是一种非常基本的方法,可能有更好的解决方案,但如果您所做的只是相互比较两列数据,那么这种方法就会有效。
答案2
这样做
Sub EeekPriates()
Dim row As Integer
row = 2
Dim cols(2) As String
cols(0) = "A"
cols(1) = "B"
cols(2) = "C"
Dim i As Integer
For i = 0 To UBound(cols)
Dim col As String
col = cols(i)
Do While (Worksheets("Sheet1").Range(col & row).Value <> "")
Dim ws1value As String
Dim ws2value As String
ws1value = Worksheets("Sheet1").Range(col & row).Value
ws2value = Worksheets("Sheet2").Range(col & row).Value
If (ws1value <> ws2value) Then
Worksheets("Sheet1").Range(col & row).Interior.ColorIndex = 3
End If
row = row + 1
Loop
row = 2
Next i
End Sub
我将数据复制到 2 个工作表中
因此,Sheet1
工作表2
宏运行后,sheet2 与上面的截图相同,这是 Sheet1 的样子