【问题标题】:Return if all Excel column values don't agree如果所有 Excel 列值不一致,则返回
【发布时间】:2011-03-07 15:01:37
【问题描述】:

我在 Excel 电子表格中有以下数据:

    A  B  C
 1  b  b  b

我想在比较行中每个(文本)值的数据之后的列中放置一个公式,如果它们都相同,则返回 TRUE,即 A=B=C。如果一个或多个值不同意,我希望它返回 FALSE。即

    A  B  C  D
 1  b  b  b  TRUE
 2  b  e  b  FALSE
 3  e  b  b  FALSE

我知道像 AND 这样的逻辑函数,因此可以构造类似的东西

AND(A1=B1,A1=C1.. etc),但是,一旦列数增加,这很快就会变得笨拙。

重组数据是不可行的。

有人知道 OOTB / VB 解决方案吗?

【问题讨论】:

    标签: excel excel-2003 worksheet-function


    【解决方案1】:

    如果countif 找到与count 相同的数字,那么它们都是相同的。

    =IF(COUNTIF(A1:C1,A1)=COUNTA(A1:C1),"true","false")
    

    希望这是您正在寻找的,您只需要扩展您想要测试的列的范围即可。

    更新

    正如评论中指出的,如果数据集有空白单元格,则无法返回正确的结果。

    即使范围内有空白单元格,这也会返回 false:

    =IF(AND(COUNTIF(A1:C1;A1)=COUNTA(A1:C1);COUNTBLANK(A1:C1)=0);"true";"false")
    

    【讨论】:

    • @Jon,很好,如果数据集有空白单元格,更新的答案可以工作
    • @AlanWhitelaw:我建议不要写=IF(Condition,"true","false"),而是简单地写=Cond - 这将返回 TRUE 或 FALSE - 但作为布尔值。这些可以根据需要进行格式化,在所有本地设置中工作 - 并且可以轻松地用于以后的计算......
    【解决方案2】:

    这是一个 VBA UDF:要使其区分大小写,请删除选项比较文本

    Option Explicit
    Option Compare Text
    Public Function AllSame(theRange As Range) As Boolean
        Dim vR As Variant
        Dim vC As Variant
    
        AllSame = True
        vR = theRange
        If IsArray(vR) Then
            vC = vR(1, 1)
            For Each vC In vR
                If vC <> vR(1, 1) Then
                    AllSame = False
                    Exit For
                End If
            Next vC
        End If
    End Function
    

    【讨论】:

      【解决方案3】:

      虽然会慢一些,但也可以使用数组公式(在单元格中输入后按Ctrl + Shift + Enter):

      {=IF(SUM(COUNTIF(A1:C1,A1:C1))=POWER(COUNTA(A1:C1), 2),"true","false")}
      

      即使范围内有空单元格,这也会起作用。

      .

      更新:
      这个数组公式也有效,确保一个范围内只有 1 个唯一值。即使范围内有空格,它也仍然返回准确的值:

      {=SUM(IFERROR(1 / COUNTIF(A2:C2,A2:C2), 0)) = 1}
      

      【讨论】:

        猜你喜欢
        • 2012-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-10
        • 2021-10-15
        • 1970-01-01
        • 2022-10-14
        相关资源
        最近更新 更多