EXCEL- 计算行中数字对/四的个数。如何计算?

EXCEL- 计算行中数字对/四的个数。如何计算?

我有 300 多行,包含 40 多列,每列都有一个随机数字 1-40。

我想知道如何在每一行中搜索同时出现的对或数字。

例子。

5   10  12  14  16  17  19  30  31  32  33  40  51  
4   7   11  16  17  23  24  26  32  37  39  46  47  
1   2   4   7   11  15  18  31  34  35  37  38  43  
3   6   14  16  19  21  24  27  33  34  38  42  47      
5   7   8   15  17  22  23  24  26  27  30  37  40  

我想知道 1 和 2 或者 23 和 24 或者 5 和 30 同时出现的次数。

我该怎么做?我该使用哪个公式以及如何实现它。

我查看了计数、数据透视表、乘积和总计。但我比刚开始时更加困惑。

答案1

由于涉及嵌套,我建议使用用户定义函数(UDF)来解决这个问题。

此代码...

Function CountPairs(theRange As Range, P As Variant, Q As Variant) As Long
Dim PRow As Range
Dim PCell As Range, QCell As Range
Dim Result As Long
' initialize
Result = 0

For Each PRow In theRange.Rows      'search each row for P Value
    For Each PCell In PRow.Cells
        If PCell.Value = P Then
            For Each QCell In PRow.Cells 'if P Value found, search for Q Value
                If QCell.Value = Q Then
                    Result = Result + 1
                    Exit For
                End If
            Next QCell
            Exit For
        End If
    Next PCell
Next PRow

' clean up
Set PRow = Nothing
Set PCell = Nothing
Set QCell = Nothing

CountPairs = Result

End Function

产生这些结果...

在此处输入图片描述

在此处输入图片描述

...我使用条件格式突出显示“P”和“Q”值


但是,有了“辅助”列,就可以使用内置公式来解决......

在此处输入图片描述

在这种情况下,辅助列包含填充的此公式...

=IF(COUNTIF($B4:$N4,"="&$B$2)>0,IF(COUNTIF($B4:$N4,"="&$C$2)>0,1,0),0)

单元格 A2 包含一个简单的总和...

=SUM(A4:A8)

答案2

您需要将IF和结合AND起来COUNTIF

例如,

=IF(AND(COUNTIF(A1:J1,23)>0,COUNTIF(A1:J1,24)>0),1,0)

如果 23 和 24 从 A1 到 J1 至少出现一次,则该解决方案得出 1,如果它们不是同时出现在行中,则该解决方案得出 0。

图片:计数某一行中是否存在一对

相关内容