查找COUNTIFS函数的地址(单元格/行)

时间:2018-06-25 16:28:55

标签: excel function

我有一个包含大量COUNTIFS函数(大于300)的Excel文件。公式工作正常,但由于数据源很大,我需要能够找到每个COUNTIFS结果的地址。

即如果COUNTIF对所选参数给出的结果为1,则我需要能够知道该函数正在从数据源进行计数的哪个单元格/行。

我当时想可以通过ADDRESS函数来完成此操作,但是我不确定如何将其与COUNTIFS一起使用。

3 个答案:

答案 0 :(得分:1)

尝试

=ADDRESS(AGGREGATE(15, 7, ROW(C$3:INDEX(C:C, MATCH(1E+99, C:C)))/(C$3:INDEX(C:C, MATCH(1E+99, C:C))=1), ROW(1:1)), COLUMN(B:B), 4, 1, "Shett4")

enter image description here

答案 1 :(得分:1)

假设条件行是对齐的,则可以找到要计数的行。参考下面的图像,在与行相同行数的区域中,将其作为数组公式( Ctrl + Shift + Enter )输入。返回了listView(我在图像中的COUNTIFS中输入了公式):

H2:H4

enter image description here

答案 2 :(得分:1)

我将使用用户定义的函数。

使用以下代码,您将获得以下结果: enter image description here

Public Function ListAddresses(SearchTerm As Variant, SearchRange As Range) As String
    Dim WS As Worksheet, rCell As Range

    Set WS = Sheets(SearchRange.Parent.Name)
    SearchTerm = UCase(SearchTerm)

    Set SearchRange = Intersect(WS.UsedRange, SearchRange)

    For Each rCell In SearchRange.Cells
        If UCase(rCell.Value) = SearchTerm Then
            ListAddresses = ListAddresses & rCell.Address(False, False) & " | "
        End If

    Next rCell

    If ListAddresses <> "" Then
        ListAddresses = Left(ListAddresses, Len(ListAddresses) - 3)
    Else
        ListAddresses = "<none>"
    End If

End Function