《excel吧提问-单元格多数值》,返回多个单元格中出现最多次数的单元格的值
适用多个单元格和单元格区域,可查找多数、少数的单元格值
Function majority(mode, ParamArray args())'函数定义majority(单元格1,单元格2,...)返回多个单元格出现次数最多/少的单元格的值'适用多个单元格、单元格区域;2种查找模式,"+"即多数、"-"即少数Dim a, aa, i, k, v, m, x, dict As Object, resultSet dict = CreateObject("scripting.dictionary")For Each a In argsIf Not IsArray(a) Thent = a.Valuedict(t) = dict(t) + 1ElseFor Each aa In at = aa.Valuedict(t) = dict(t) + 1NextEnd IfNextk = dict.keysv = dict.Itemsresult = Array()If mode = "+" Thenm = WorksheetFunction.Max(v) '最多次数ElseIf mode = "-" Thenm = WorksheetFunction.Min(v) '最少次数End IfFor i = 0 To dict.count - 1: '遍历字典If v(i) = m Thenx = UBound(result) + 1ReDim Preserve result(x)result(x) = k(i)End IfNextmajority = Join(result, ",")End Function