1

我在 Excel 中有这样的数据:

Person1    A    A    B    A         C    3
Person2                                  0
Person3    A    B    C    D    E    F    6
Person4              A    A    A         1

我正在尝试找到一个公式,该公式可以复制每行最后一个单元格中的数字,即与该人关联的唯一元素的数量,不包括空白。例如,Person1 有 3,因为有 A、B 和 C,即使有三个 A。每个人的列数都是固定的/相同的。值 A、B、C 等是字符串(与数字相反)。

这可以使用公式来完成吗?

4

3 回答 3

6

这应该适合你:

=SUMPRODUCT((B1:G1<>"")/COUNTIF(B1:G1,B1:G1&""))
于 2018-07-25T13:10:57.493 回答
4

这是我发现的:

=SUMPRODUCT(1/COUNTIF(B1:F1,B1:F1&""))

它的工作原理非常有趣:

产品

它将 countifs 的结果相加,并将每一个除以 1。因此,如果您有上面的示例,它会返回 4,因为它求和:

1/1 + 1/3 + 1/3 + 1/1 + 1/3 + 1/3

于 2018-07-25T13:09:27.390 回答
3

在工作表中使用的 UDF

Public Function GetUniqueCount(ByVal rng As Range) As Long
    Dim dict As Object, currCell As Range
    Set dict = CreateObject("Scripting.Dictionary")
    For Each currCell In rng
        If Not IsEmpty(currCell) Then dict(currCell.Value) = 1
    Next currCell
    GetUniqueCount = dict.Count
End Function

在片材使用中:

床单

于 2018-07-25T13:13:31.487 回答