excel 与多个工作表上的多个列进行比较时突出显示一列中的唯一值的功能

excel function to highlight unique values in one column when compared with multiple columns on multiple sheets

好的,我正在使用 excel 工作簿来管理我们产品的物料清单 BOM。我在一个工作簿中有几个特定于产品的 sheet 和一个库存 sheet。

发布新 BOM 时,所有库存都手动添加到 "inventory" sheet。

我想寻找一种方法来搜索仅存在于库存中的所有零件号 sheet。

基本上它的产品已经停产了。手动查找这些部件号很痛苦。

我想在库存 sheet 中查找零件 # 列所特有的所有项目。这些独特的项目不会出现在任何其他 sheet.

的第 # 列中

所以我需要搜索整个工作簿并突出显示 "orphaned" 然后它可以很容易地从这个 sheet 中删除。

我不知道如何创建一个VB函数来执行此操作或如何使用条件格式来执行此操作。

部件号可以是字母数字值的混合。

我可能太希望 excel 像关系数据库一样运行,但我可以梦想,不是吗!!

在此先感谢您的帮助。

抱歉,我还没有上传图片的权限。我提供了屏幕截图的下载链接。

https://gofile.me/2rhXY/tPMTm9OF

这是一个代码示例:这是使用推荐的 VB 模块。此公式不适用于数值。

https://gofile.me/2rhXY/fjoSA3iI

这是从中提取日期的标签。它应该找到这个值但不是。

斯科特

假设库存工作表实际上被称为 Inventory 并且 'several product specific sheets' 有一个公共部分没有列这应该在清单工作表的辅助列中为您工作,可以根据该列进行过滤或作为条件格式规则中的公式。

点击 Alt+F11 并且当 VBE 打开时,立即使用 pull-down 菜单插入 ► 模块 (Alt+I,M)。将以下内容粘贴到标题为 Book1 - Module1 (Code).

的新窗格中
Public Function bDiscontinued(rPART As Range, rSRCH_COL As Range) As Boolean
    Dim sPart As String, sAddress As String, ws As Long
    sPart = rPART.Value
    sAddress = rSRCH_COL.Address(0, 0)
    bDiscontinued = True
    For ws = 1 To Worksheets.Count
        With Worksheets(ws)
            If .Name <> "Inventory" Then
                If Not IsError(Application.Match(sPart, .Range(sAddress), 0)) Then
                    bDiscontinued = False
                    Exit For
                End If
            End If
        End With
    Next ws
End Function

编辑包含 Inventory 的行以适合您不想搜索的工作表的实际名称。点击 Alt+Q 到 return 到您的工作表。

语法很简单,

=bDiscontinued(<part no to look for>, <common column of part nos in other worksheets>)

示例:如果您的清单工作表的零件号在 A 列中从第 2 行开始,而所有其他工作表上的零件号在 B 列中,则将此公式放入清单第 2 行的未使用列中工作表。

=bDiscontinued($A2, $B:$B )

根据需要填写。可以针对 TRUE 过滤这个新列,以显示所有可以删除的停产零件号。

如果简单的条件格式突出显示行就足够了,则可以在具有 适用于: of A2:Z9999 的 CF 规则中使用相同的公式。如果 Applies to: 是 $A:$Z 然后将公式更改为 =bDiscontinued($A1, $B:$B ).

通过"New Rule > Use a formula to determine which cells to format"设置条件格式。假设您要突出显示唯一值的范围是 A1:A99,请使用以下公式:=COUNTIF($A$1:$A$99, $A1)=1 .