Bill有一列数字按升序排列。列中有很多重复的值,这很好。但是,他需要在没有重复的列中找到数字的第一个实例。 Bill想知道是否有一个公式可以识别列中的第一个单次出现值。

有很多方法可以找到被拒绝的答案。一种方法是在数字的右侧添加一个帮助器列。假设您的第一个数字在单元格A2中,则可以在单元格B2中输入以下内容:

=IF(AND(A1<>A2,A3<>A2),"single","")

将公式向下复制到尽可能多的单元格,您将可以轻松地在A列中发现第一个具有单个值的单元格。

您还可以在单​​元格B2中使用以下公式:

=COUNTIF($A:$A,$A2)

尽可能将其复制下来;该公式将显示A列中的值在A列中出现的次数的计数。然后,您将使用以下公式确定在A列中出现一次的第一个值:

=INDEX($A:$A,MATCH(1,$B:$B,0))

如果无法使用辅助列,则可以依赖数组公式。

这两个都会显示一次出现的第一个值:

=INDEX(A2:A999,MATCH(1,COUNTIF(A2:A999,A2:A999),0))

=SMALL(IF(COUNTIF(A2:A999,A2:A999)=1,A2:A999,""),1)

请记住,这些是数组公式,这意味着您需要使用Ctrl + Shift + Enter输入它们。另外,如果该范围内没有单个值,则该公式将返回#N / A错误。

如果您想知道哪一行包含第一个单次出现值,则下面的数组公式将非常有用:

=MATCH(1,COUNTIF(A2:A999,A2:A999),0)+1

请注意该公式检查单元格A2:A999。由于跳过了行A1,因此在公式末尾需要“ +1”。如果没有标题行,或者数据从第2行以外的其他行开始,则需要相应地调整公式。

如果您不想使用公式,则可以使用条件格式突出显示数据中的单次出现值。

请按照下列步骤操作:

。选择您要检查的单元格。

。在显示功能区的“主页”选项卡的情况下,单击“样式”组中的“条件格式”选项。 Excel将显示与条件格式相关的选项面板。

。选择“突出显示单元格规则”。 Excel显示更多选项。

。选择重复值。 Excel将显示“重复值”对话框。 (请参见图1。)

。使用对话框左侧的下拉列表,选择“唯一”。

。使用对话框左侧的下拉列表指示如何设置单次出现值的格式。

。单击确定。

此时,您的单次出现值将按照在步骤6中指定的格式进行格式化,您可以轻松地发现它们。如果只想查看一次出现的值,则在应用条件格式后,可以使用过滤来完成任务。

如果您喜欢使用宏方法,则可以使用如下宏:

Sub FirstUnique()

Dim c As Range     Dim sMsg As String     Dim bLone As Boolean

If Selection.Cells.Count > 1 Then         For Each c In Selection.Cells             bLone = False             If c.Row = 1 Then                 If c <> c.Offset(1, 0) Then bLone = True             Else                 If c <> c.Offset(-1, 0) And _                    c <> c.Offset(1, 0) Then bLone = True             End If             If bLone Then                 sMsg = "First single-occurrence value found "

sMsg = sMsg & "at " & c.Address & vbCrLf                 sMsg = sMsg & "Value: " & c                 MsgBox sMsg                 Exit For             End If         Next c     Else         sMsg = "You must select at least 2 cells."

MsgBox sMsg     End If End Sub

为了使用宏,请选择要检查的单元格,然后运行它。该宏显示所选内容中第一个单次出现值的地址和值。

您应该注意,本技巧中提供的所有解决方案(“条件格式”方法除外)都要求对要评估的值进行排序,就像Bill所说的那样。如果您的值未排序,则需要先对其进行排序,或者寻找一种完全不同的方法来获得结果。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3383)适用于Microsoft Excel 2007、2010、2013和2016。