我有一个包含大量COUNTIFS函数(大于300)的Excel文件。公式工作正常,但由于数据源很大,我需要能够找到每个COUNTIFS结果的地址。
即如果COUNTIF对所选参数给出的结果为1,则我需要能够知道该函数正在从数据源进行计数的哪个单元格/行。
我当时想可以通过ADDRESS函数来完成此操作,但是我不确定如何将其与COUNTIFS一起使用。
答案 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")
答案 1 :(得分:1)
假设条件行是对齐的,则可以找到要计数的行。参考下面的图像,在与行相同行数的区域中,将其作为数组公式( Ctrl + Shift + Enter )输入。返回了listView
(我在图像中的COUNTIFS
中输入了公式):
H2:H4
答案 2 :(得分:1)
我将使用用户定义的函数。
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