【问题标题】:Getting unique values in Excel by using formulas only仅使用公式在 Excel 中获取唯一值
【发布时间】:2010-11-28 15:08:13
【问题描述】:

您知道在 Excel 中通过公式“计算”唯一值列表的方法吗?

例如:一个垂直范围包含值"red""blue""red""green""blue""black"
我想得到结果 "red, "blue", "green", "black" + 最终还有 2 个其他空白单元格。

我已经找到了一种使用 SMALL 或 LARGE 结合 INDEX 来获得计算排序列表的方法,但我也想要这种计算排序,而不使用 VBA。

【问题讨论】:

  • 您希望如何返回数据?我认为大多数(全部?)公式返回值而不是列表......
  • @scrible:通过使用数组公式,您可以获得一个单元格数组。
  • 作为对上一篇文章的快速修改,如果在 B 列中将位置 $A11 更改为 $A12,您将拥有每个值的单个副本,包括重复值,但只有一次! :)
  • 多年后,built-in solution 终于要实现了。
  • @GSerg 8-) MS 可能决定添加一些在 GSheets 中长期可用的有用的东西!

标签: excel excel-formula


【解决方案1】:

您可以使用 COUNTIF 来获取值在范围内的出现次数。因此,如果值在 A3 中,则范围为 A1:A6,然后在下一列中使用 IF(EXACT(COUNTIF(A3:$A$6, A3),1), A3, "")。对于 A4,它将是 IF(EXACT(COUNTIF(A4:$A$6, A3),1), A4, "")

这将为您提供一个列,其中所有唯一值都没有任何重复

【讨论】:

    【解决方案2】:

    好的,我有两个想法给你。希望他们中的一个能让你到达你需要去的地方。请注意,第一个忽略了将其作为公式执行的请求,因为该解决方案并不漂亮。我想我要确保简单的方法真的不适合你;^)。

    使用高级筛选命令

    1. 选择列表(或将您的选择放在列表中的任何位置,如果对话框出现抱怨 Excel 不知道您的列表是否包含标题,请单击确定)
    2. 选择数据/高级过滤器
    3. 选择“就地过滤列表”或“复制到另一个位置”
    4. 单击“仅唯一记录”
    5. 点击确定
    6. 你完成了。在原地或在新位置创建一个唯一列表。请注意,您可以记录此操作以创建一个单行 VBA 脚本来执行此操作,然后可以将其推广到其他情况下为您工作(例如,没有上面列出的手动步骤)。

    使用公式(请注意,我正在构建 Locksfree 解决方案,最终得到一个没有漏洞的列表)

    此解决方案适用于以下注意事项:

  • 列表必须排序(升序或降序无关)。实际上这是非常准确的,因为要求实际上所有类似的项目必须是连续的,但排序是达到该状态的最简单方法。
  • 需要三个新列(两个新列用于计算,一个新列用于新列表)。第二列和第三列可以合并,但我将把它作为练习留给读者。

    解决方案总结如下:

    1. 对于列表中的每个项目,计算其上方的重复项数。
    2. 对于唯一列表中的每个位置,计算下一个唯一项的索引。
    3. 最后,使用索引创建一个只有唯一项目的新列表。

    这里是一步一步的例子:

    1. 打开一个新的电子表格
    2. 在 a1:a6 中输入原始问题中给出的示例(“red”、“blue”、“red”、“green”、“blue”、“black”)
    3. 对列表进行排序:将所选内容放入列表中并选择排序命令。
    4. 在 B 列中,计算重复项:
      1. 在 B1 中,输入“=IF(COUNTIF($A$1:A1,A1) = 1,0,COUNTIF(A1:$A$6,A1))"。请注意,单元格引用中的“$”非常重要,因为它将使下一步(填充列的其余部分)更加容易。 “$”表示绝对引用,因此当单元格内容被复制/粘贴时,引用不会更新(与将更新的相对引用相反)。
      2. 使用智能复制填充 B 列的其余部分:选择 B1。将鼠标移到选区右下角的黑色方块上。单击并向下拖动到列表底部 (B6)。当您发布时,公式将被复制到 B2:B6 中,并更新相关引用。
      3. B1:B6 的值现在应该是“0,0,1,0,0,1”。请注意,“1”条目表示重复。
    5. 在 C 列中,创建唯一项的索引:
      1. 在 C1 中,输入“=Row()”。你真的只是想要 C1 = 1 但使用 Row() 意味着即使列表不是从第 1 行开始,这个解决方案也可以工作。
      2. 在 C2 中,输入“=IF(C1+1
      3. 使用智能副本填充 C3:C6。
      4. C1:C6 的值应为“1,2,4,5,7,8”
    6. 在 D 列中,创建新的唯一列表:
      1. 在 D1 中,输入“=IF(C1
      2. 使用智能副本填充 D2:D6。
      3. D1:D6 的值现在应该是“黑色”、“蓝色”、“绿色”、“红色”、“”、“”。

    希望这会有所帮助....

  • 【讨论】:

    • hmmm,原来是我的解决方案中的一个缺陷。它不适用于像“黑色、黑色、蓝色、蓝色、粉色、黄色”这样的列表。应该能够修复它,但我必须先做一些工作;^)。我会尽快更新。
    • 好的,修复了解决方案,我现在相信它适用于所有情况。在上面进行了编辑。
    • 这似乎是一个有效的解决方案。与此同时,我发现了一些东西,首先使用 LARGE 或 SMALL 函数对项目进行排序。但我的解决方案只适用于数字。
    • 我在实现它时遇到的一些警告:在步骤 5.1 中,无论列表的起始位置如何,C1 都应该等于 1。这样,您始终拥有所使用行范围的正确相对位置。并且步骤 6.1 中使用的 IF 仅在您选择窄范围时才有效。我用一个没有这些问题并且不需要连续或排序的输入列表的改进算法提出了一个新的答案。
    【解决方案3】:

    我最近遇到了同样的问题,终于解决了。

    使用您的列表,这是我的 Excel 中的公式粘贴。

    我建议将公式写在列表中间的某个位置,例如,在我的示例的单元格 C6 中,然后将其复制并粘贴到您的列中,公式应该会自动调整而无需您重新输入。

    唯一具有唯一不同公式的单元格位于第一行。

    使用您的列表(“红色”、“蓝色”、“红色”、“绿色”、“蓝色”、“黑色”);结果如下: (我没有足够高的级别来发布图片,所以希望这个 txt 版本有意义

    • [A 栏:原始列表]
    • [B 列:唯一列表结果]
    • [C 列:唯一列表公式]

      1. 红,红,=A3
      2. 蓝色,蓝色,=IF(ISERROR(MATCH(A4,A$3:A3,0)),A4,"")
      3. 红色, , =IF(ISERROR(MATCH(A5,A$3:A4,0)),A5,"")
      4. 绿色,绿色,=IF(ISERROR(MATCH(A6,A$3:A5,0)),A6,"")
      5. 蓝色, , =IF(ISERROR(MATCH(A7,A$3:A6,0)),A7,"")
      6. 黑色,黑色,=IF(ISERROR(MATCH(A8,A$3:A7,0)),A8,"")

    【讨论】:

      【解决方案4】:

      假设 A 列包含您要查找的单个唯一实例的值,并且有一个标题行,我使用了以下公式。如果您希望它以不可预测的行数进行扩展,您可以将 A772(我的数据结束的地方)替换为 =ADDRESS(COUNTA(A:A),1)

      =IF(COUNTIF(A5:$A$772,A5)=1,A5,"")

      这将在列中每个值的最后一个实例处显示唯一值,并且不假定任何排序。它利用缺乏绝对值的优势,本质上减少了要计数的数据“滑动窗口”。当缩小窗口中的 countif 等于 1 时,该行是该列中该值的最后一个实例。

      【讨论】:

        【解决方案5】:

        一种迂回的方法是将您的 Excel 电子表格加载到 Google 电子表格中,使用 Google 的 UNIQUE(range) 函数 - 这正是您想要的 - 然后将 Google 电子表格保存回 Excel 格式。

        我承认这对于 Excel 用户来说不是一个可行的解决方案,但这种方法对于任何想要该功能并能够使用 Google 电子表格的人来说都很有用。

        【讨论】:

        • 不完全是回复,反正很有趣。谢谢
        • 是的,正如我所说的对 Excel 用户不可行,但对有相同问题的 Google 电子表格用户很有帮助。
        • 最重要的是,公式会自动更新,这不会。
        • UNIQUE 一个公式,会像其他公式一样自动更新。
        【解决方案6】:

        解决方案

        我在 VBA 中为您创建了一个函数,因此您现在可以轻松地执行此操作。
        创建一个 VBA 代码模块(宏),如您在 this tutorial 中所见。

        1. Alt+F11
        2. Insert中点击Module
        3. 粘贴代码。
        4. 如果 Excel 指出您的文件格式对宏不友好,请在 Save As 中将其另存为 Excel Macro-Enabled

        源代码

        Function listUnique(rng As Range) As Variant
            Dim row As Range
            Dim elements() As String
            Dim elementSize As Integer
            Dim newElement As Boolean
            Dim i As Integer
            Dim distance As Integer
            Dim result As String
        
            elementSize = 0
            newElement = True
        
            For Each row In rng.Rows
                If row.Value <> "" Then
                    newElement = True
                    For i = 1 To elementSize Step 1
                        If elements(i - 1) = row.Value Then
                            newElement = False
                        End If
                    Next i
                    If newElement Then
                        elementSize = elementSize + 1
                        ReDim Preserve elements(elementSize - 1)
                        elements(elementSize - 1) = row.Value
                    End If
                End If
            Next
        
            distance = Range(Application.Caller.Address).row - rng.row
        
            If distance < elementSize Then
                result = elements(distance)
                listUnique = result
            Else
                listUnique = ""
            End If
        End Function
        

        用法

        只需在单元格中输入=listUnique(range)。唯一的参数是range,它是一个普通的 Excel 范围。例如:A$1:A$28H$8:H$30

        条件

        • range 必须是一列。
        • 调用函数的第一个单元格必须在range 开始的同一行中。

        示例

        普通情况

        1. 输入数据并调用函数。
        2. 成长吧。
        3. 瞧。

        空电池盒

        它适用于其中包含空单元格的列。此外,如果您将单元格(调用函数)过度缠绕到不应该输出的地方,该函数也不会输出任何内容(不是错误),就像我在上一个示例的“2. Grow it”部分中所做的那样。

        【讨论】:

        • 谢谢@totymedli。我的问题是关于没有 vba 的情况。
        • @iDevlop Sry 没有看到这一点。其实我是为朋友做的,只是想对你有帮助。
        • 它在工作时很棒,但似乎偶尔会让 Excel 在处理大型数据集时崩溃。
        • 非常有帮助,但是 excel 需要太多时间,每次将新数据添加到列表中。我希望如果做一些优化,那就太棒了。
        • 很好,但在范围最后包含空单元格的情况下将不起作用。 =( 此功能也不适用于在单元格中创建 ComboBox。=(
        【解决方案7】:

        Drew Sherman 的解决方案非常好,但列表必须是连续的(他建议手动排序,这对我来说是不可接受的)。如果项目数量很大并且不遵守原始列表的顺序,Guitarthrower 的解决方案会有点慢:无论如何它都会输出排序列表。

        我想要项目的原始顺序(在另一列中按日期排序),另外我想从最终列表中排除一个项目,不仅如果它是重复的,而且还有其他各种原因.

        我的解决方案是对 Drew Sherman 解决方案的改进。同样,此解决方案使用 2 列进行中间计算:

        A 列:

        包含要过滤的重复项和可能是空白的列表。我将以 A11:A1100 区间为例,因为我无法将 Drew Sherman 的解决方案移动到它没有在第一行开始的情况。

        B 列:

        如果此行中的值有效(包含非重复值),则此公式将输出 0。请注意,您可以在第一个 IF 或另一个外部 IF 中添加您想要的任何其他排除条件。

        =IF(ISBLANK(A11);1;IF(COUNTIF($A$11:A11;A11)=1;0;COUNTIF($A11:A$1100;A11)))
        

        使用智能复制填充列。

        C 列:

        在第一行中,我们将找到第一个有效行:

        =MATCH(0;B11:B1100;0)
        

        从该位置,我们使用以下公式搜索下一个有效值:

        =C11+MATCH(0;OFFSET($B$11:$B$1100;C11;0);0)
        

        将其放在第二行并使用智能复制来填充该列的其余部分。当没有更多唯一的itens指向时,此公式将输出#N/D错误。我们将在下一专栏中利用这一点。

        D 列:

        现在我们只需要获取 C 列指向的值:

        =IFERROR(INDEX($A$11:$A$1100; C11); "")
        

        使用智能复制填充该列。这是输出的唯一列表。

        【讨论】:

          【解决方案8】:

          我在下面的 excel 文件中粘贴了我使用的内容。这会从L11:L300 范围内获取唯一值,并从 V 列 V11 开始填充它们。在这种情况下,我在 v11 中有这个公式并将其向下拖动以获取所有唯一值。

          =INDEX(L$11:L$300,MATCH(0,COUNTIF(V$10:V10,L$11:L$300),0))
          

          =INDEX(L$11:L$300,MATCH(,COUNTIF(V$10:V10,L$11:L$300),))
          

          这是一个数组公式

          【讨论】:

          【解决方案9】:

          你也可以这样做。

          创建以下命名范围:

          nList = the list of original values
          nRow = ROW(nList)-ROW(OFFSET(nList,0,0,1,1))+1
          nUnique = IF(COUNTIF(OFFSET(nList,nRow,0),nList)=0,COUNTIF(nList, "<"&nList),"")
          

          通过这 3 个命名范围,您可以使用以下公式生成唯一值的有序列表。它将按升序排序。

          IFERROR(INDEX(nList,MATCH(SMALL(nUnique,ROW()-?),nUnique,0)),"")
          

          您需要将唯一有序列表的第一个元素上方的单元格的行号替换为“?”字符。

          例如。如果您的唯一有序列表从单元格 B5 开始,那么公式将为:

          IFERROR(INDEX(nList,MATCH(SMALL(nUnique,ROW()-4),nUnique,0)),"")
          

          【讨论】:

            【解决方案10】:

            这只有在值是有序的情况下才有效,即所有的“红色”都在一起,所有的“蓝色”都在一起等等。 假设您的数据在从 A2 开始的 A 列中 - (不要从第 1 行开始) 在 B2 类型中 1 在 b3 类型 =if(A2 = A3, B2,B2+1) 向下拖动公式直到数据结束 所有“红色”将为 1,所有“蓝色”为 2,所有“绿色”为 3,以此类推。

            在 C2 中输入 1, 2 ,3 等向下列 在 D2 = OFFSET($A$1,MATCH(c2,$B$2:$B$x,0),0) - 其中 x 是最后一个单元格 向下拖动,只会出现唯一值。 -- 进行一些错误检查

            【讨论】:

              【解决方案11】:

              选择具有重复值的列,然后转到数据选项卡,然后数据工具选择删除重复选择 1)“继续当前选择” 2) 单击删除重复项.... 按钮 3) 点击“全选”按钮 4) 点击确定

              现在你得到了唯一值列表。

              【讨论】:

                【解决方案12】:

                我很惊讶这个解决方案还没有出现。我认为这是最简单的一种

                给您的数据一个标题并将其放入动态命名范围(即,如果您的数据在 col A 中)

                =OFFSET($A$2,0,0,COUNTA($A:$A),1)
                

                然后创建一个数据透视表,将源设为您的命名范围。

                只需将标题放入行部分,您就会拥有唯一的值,使用内置功能按您喜欢的方式排序。

                【讨论】:

                  【解决方案13】:

                  注意到这是一个非常古老的问题,但人们似乎仍然无法使用公式来提取独特的项目。 这是一个返回它们自己的值的解决方案。

                  假设您在 A2:A7 列中有“红色”、“蓝色”、“红色”、“绿色”、“蓝色”、“黑色”

                  然后将其作为数组公式放入B2并复制下来=IFERROR(INDEX(A$2:A$7;SMALL(IF(FREQUENCY(MATCH(A$2:A$7;A$2:A$7;0);ROW(INDIRECT("1:"&amp;COUNTA(A$2:A$7))));ROW(INDIRECT("1:"&amp;COUNTA(A$2:A$7)));"");ROW(A1)));"")

                  那么它应该看起来像这样;

                  【讨论】:

                    【解决方案14】:

                    这是老生常谈,有一些解决方案,但我想出了比我遇到的任何其他公式都更短更简单的公式,它可能对路过的任何人都有用。

                    我将颜色列表命名为Colors (A2:A7),数组公式放入单元格C2就是这个(fixed >):

                    =IFERROR(INDEX(Colors,MATCH(SUM(COUNTIF(C$1:C1,Colors)),COUNTIF(Colors,"<"&Colors),0)),"")
                    

                    C2中使用Ctrl+Shift+Enter输入公式,将C2向下复制到C3:C7

                    示例数据说明 {"red"; “蓝色”; “红色的”; “绿色”; “蓝色”; “黑色”}:

                    1. COUNTIF(Colors,"&lt;"&amp;Colors) 返回一个数组 (#1),其值的计数小于数据 {4;1;4;3;1;0} 中的每个项目(黑色=0 个较小的项目,蓝色=1 个项目,红色=4 项)。这可以转换为每个项目的排序值
                    2. COUNTIF(C$1:C...,Colors) 为已在排序结果中的每个数据项返回一个数组 (#2)。在 C2 中它返回 {0;0;0;0;0;0} 而在 C3 中返回 {0;0;0;0;0;1} 因为“黑色”在排序中排在第一位,在数据中排在最后。在 C4 {0;1;0;0;1;1} 中,它表示“黑色”,并且所有出现的“蓝色”都已经存在。
                    3. SUM 返回第 k-th 个排序值,方法是计算所有已出现的较小值(数组 #2 的总和)。
                    4. MATCH 查找第 k 个排序值的第一个索引(数组 #1 中的索引)。
                    5. IFERROR 只是在排序唯一列表完成时隐藏底部单元格中的#N/A 错误。

                    要知道你有多少独特的物品,你可以使用这个常规公式

                    =SUM(IF(FREQUENCY(COUNTIF(Colors,"<"&Colors),COUNTIF(Colors,"<"&Colors)),1))
                    

                    【讨论】:

                    • 边缘情况下的小“错误”:如果原始数据包含空白。可以通过将IF(ISBLANK(Colors), 0,1) 添加到#1 数组和SUM() 来解决。
                    • @AviD,您好。您能否帮助澄清是否有空白值?现在我的公式数组返回整个数组的第一个值.. 非常感谢
                    • 我不确定我是否理解这个解决方案。截图示例会很有帮助。
                    • @dePatinkin 它对我有用,但我需要对列表中的第一项进行硬编码,否则它会忽略所有以 A 开头的项目。你有解决方案来忽略列表中的某些项目吗? (例如,不返回 Staff)
                    • @DumitruDaniel 这可能是因为您在C1 中将“A”作为列标题。标头不应与任何值匹配。过滤列表是一个不同的问题,有不同的解决方案,所以也许可以为它提出一个问题。如果您不需要对其进行排序,您可以使用像这样的公式=IFERROR(INDEX(Colors,MATCH(0,COUNTIF(C$1:C1,Colors)+(Colors="blue"),0)),"")
                    【解决方案15】:

                    即使要获得排序后的唯一值,也可以使用公式来完成。这是您可以使用的选项:

                    =INDEX($A$2:$A$18,MATCH(SUM(COUNTIF($A$2:$A$18,C$1:C1)),COUNTIF($A$2:$A$18,"<" &$A$2:$A$18),0))
                    

                    范围数据:A2:A18

                    单元格C2中的公式

                    这是一个数组公式

                    【讨论】:

                      【解决方案16】:

                      对于适用于多行和多列中的值的解决方案,我发现以下公式非常有用,来自http://www.get-digital-help.com/2009/03/16/unique-values-from-multiple-columns-using-array-formulas/ get-digital.help.com 上的 Oscar 甚至通过可视化示例一步一步地进行了介绍。

                      1) 将值的范围标注为 tbl_text

                      2) 在这种情况下,使用 CTRL + SHIFT + ENTER 将以下数组公式应用于单元格 B13。更改 $B$12:B12 以引用您输入此公式的单元格上方的单元格。

                          =INDEX(tbl_text, MIN(IF(COUNTIF($B$12:B12, tbl_text)=0, ROW(tbl_text)-MIN(ROW(tbl_text))+1)), MATCH(0, COUNTIF($B$12:B12, INDEX(tbl_text, MIN(IF(COUNTIF($B$12:B12, tbl_text)=0, ROW(tbl_text)-MIN(ROW(tbl_text))+1)), , 1)), 0), 1)
                      

                      3) 复制/向下拖动,直到获得 N/A。

                      【讨论】:

                        【解决方案17】:

                        如果将所有数据放在同一列中并使用以下公式 示例公式:=IF(C105=C104,"Duplicate","Not a Duplicate")

                        步骤

                        1. 对数据进行排序
                        2. 为公式添加列
                        3. 检查单元格是否等于其上方的单元格
                        4. 然后过滤Not a Duplicate
                        5. 可选:复制公式列计算的数据并仅粘贴为值(这样,如果您开始删除数据,就不会开始出错
                        6. 注意/警告:这仅在您首先对数据进行排序时才有效

                        示例公式:=IF(C105=C104,"Duplicate","Not a Duplicate")

                        【讨论】:

                          【解决方案18】:

                          优化的 VBScript 解决方案

                          我使用了 totymedli 的代码,但在使用大范围时发现它陷入困境(正如其他人所指出的那样),所以我稍微优化了他的代码。如果有人对使用 VBScript 获取唯一值感兴趣,但在更新时发现 totymedli 的代码很慢,试试这个:

                              Function listUnique(rng As Range) As Variant
                                  Dim val As String
                                  Dim elements() As String
                                  Dim elementSize As Integer
                                  Dim newElement As Boolean
                                  Dim i As Integer
                                  Dim distance As Integer
                                  Dim allocationChunk As Integer
                                  Dim uniqueSize As Integer
                                  Dim r As Long
                                  Dim lLastRow  As Long
                          
                                  lLastRow = rng.End(xlDown).row
                          
                                  elementSize = 1
                                  unqueSize = 0
                          
                                  distance = Range(Application.Caller.Address).row - rng.row
                          
                                  If distance <> 0 Then
                                      If Cells(Range(Application.Caller.Address).row - 1, Range(Application.Caller.Address).Column).Value = "" Then
                                          listUnique = ""
                                          Exit Function
                                      End If
                                  End If
                          
                                  For r = 1 To lLastRow
                                      val = rng.Cells(r)
                                      If val <> "" Then
                                          newElement = True
                                          For i = 1 To elementSize - 1 Step 1
                                              If elements(i - 1) = val Then
                                                  newElement = False
                                                  Exit For
                                              End If
                                          Next i
                                          If newElement Then
                                              uniqueSize = uniqueSize + 1
                                              If uniqueSize >= elementSize Then
                                                  elementSize = elementSize * 2
                                                  ReDim Preserve elements(elementSize - 1)
                                              End If
                                              elements(uniqueSize - 1) = val
                                          End If
                                      End If
                                  Next
                          
                          
                                  If distance < uniqueSize Then
                                      listUnique = elements(distance)
                                  Else
                                      listUnique = ""
                                  End If
                              End Function
                          

                          【讨论】:

                          • 问题是针对 VBA,而不是针对 vbScript,并且只针对使用公式。
                          【解决方案19】:

                          使用数据透视表可能不算仅使用公式,但似乎比目前大多数其他建议更实用:

                          【讨论】:

                            【解决方案20】:

                            B2 单元格中试试这个公式

                            =IFERROR(INDEX($A$2:$A$7,MATCH(0,COUNTIF(B$1:$B1,$A$2:$A$7),0),1),"")
                            

                            点击F2后按Ctrl + Shift + Enter

                            【讨论】:

                              【解决方案21】:

                              简单公式解法:使用动态数组函数(UNIQUE函数)

                              自 2018 年秋季起,Microsoft Excel 订阅版本(Office 365 / Microsoft 365 应用程序)包含所谓的动态数组函数(Office 2016/2019 中尚不可用非订阅版本)。

                              独特的功能

                              其中一个函数是 UNIQUE 函数,它将为所选范围提供一组唯一值。

                              示例

                              在以下示例中,输入值在A1:A6 范围内。将UNIQUE 函数输入到单元格C1

                              =UNIQUE(A1:A6)
                              

                              如您所见,UNIQUE 函数将自动溢出必要的单元格范围,以显示所有唯一值。这由C1:C4 周围的细蓝框表示。

                              很高兴知道

                              由于UNIQUE 函数会自动溢出必要的行数,因此您应该在C1 下留出足够的空间。如果没有足够的空间,你会得到一个#SPILL 错误。

                              如果你想引用UNIQUE函数的结果,你可以只引用包含UNIQUE函数的单元格并添加一个哈希#符号。

                              =C1#
                              

                              还可以检查多列中的唯一值。在这种情况下,UNIQUE 函数将传递行内单元格组合唯一的所有行:

                              如果您希望显示唯一列而不是唯一行,您必须将[by_col] 参数设置为TRUE(默认为FALSE,这意味着您将收到唯一行)。

                              您还可以通过将[exactly_once] 参数设置为TRUE 来显示只出现一次的值

                              =UNIQUE(A1:A6;;TRUE)
                              

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 2015-04-25
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 2021-05-01
                                相关资源
                                最近更新 更多