我有一个userform,它将文本框输入带入过滤查询:
Dim ws1 As Worksheet, ws2 As Worksheet
Dim kbnumber As String
Dim lastrow As Long
Set ws1 = Sheets("Incident")
Set ws2 = Sheets("KB Articles")
lastrow = ws1.Range("A" & Rows.Count).End(xlUp).Row
ws1.Range("M1:A" & lastrow).AutoFilter field:=13, Criteria1:=txtKB
ws1.Range("B" & Rows.Count).End(xlUp).Offset(1).Select
我可以过滤掉查询但我无法获得中位数。
基本上我试图使用以下方式获得中位数:
worksheetfunction.median(columns(2))
但它包含列的所有值,包括隐藏的值。
我需要有关如何正确实现.median函数的帮助。
感谢。
答案 0 :(得分:2)
如果您使用的是Excel 2010,则原生工作表AGGREGATE function应该可用,
kbnumber = Application.Aggregate(12, 5, ws1.Columns(2))
' or,
kbnumber = WorksheetFunction.Aggregate(12, 5, ws1.Columns(2))
请参阅文档以获取AGGREGATE的完整功能列表和可用选项。