计算2个产品出现的订单

时间:2016-02-22 15:57:57

标签: excel

我几天都在努力解决这个问题。我有一张订单和产品的表格。我试图做的是计算2个产品在订单上一起出现的次数,该表看起来与此类似;

table orders

我需要计算一下订单的数量,例如“夹克”和“跳线”在同一个订单上。

输出表看起来像这样;

output table

对于上下文,我正在尝试了解如何最好地为网站项目设置相关产品。

任何帮助都会得到真正的赞赏。

非常感谢, 斯蒂芬

1 个答案:

答案 0 :(得分:0)

您可以使用vba并创建UDF:

Public Function countArr(rng As Range, crit1 As String, crit2 As String) As Integer
    Application.Volatile
    Dim rngArr() As Variant
    Dim i As Long, j As Long, h1 As Boolean, h2 As Boolean

    rngArr = rng
    For i = LBound(rngArr, 1) To UBound(rngArr, 1)
        h1 = False
        h2 = False
        For j = LBound(rngArr, 2) To UBound(rngArr, 2)
            If rngArr(i, j) = crit1 And crit1 = crit2 Then
                If Not h1 Then
                    h1 = True
                Else
                    h2 = True
                End If
            ElseIf rngArr(i, j) = crit1 Then
                h1 = True
            ElseIf rngArr(i, j) = crit2 Then
                h2 = True
            End If
        Next j
        If h1 And h2 Then countArr = countArr + 1
    Next i
End Function

将它放在工作簿附带的模板中,在工作表代码或本工作簿代码中:

enter image description here

然后你会像任何其他公式一样称呼它:

=countArr($B$2:$F$6,B$9,$A10)

enter image description here