Я делаю календарь с различными событиями.Для этого у меня есть следующая формула для поиска нескольких совпадений с несколькими условиями:
=IFERROR(INDEX(Returnarray, SMALL(IF(Value1 & Value2=Lookuparray1&Lookuparray2, ROW(Returnarray)-MIN(ROW(Returnarray))+1,""), ROW()-Offset)),""))
Я хотел бы перевести эту формулу в функцию VBA, но не могу получить ее вРабота.Я пробовал с Evaluate
и с appication.worksheetfunction
, но безуспешно.
Function MultipleLookup(Offset As Integer, ReturnArray As Range, Value1 As Range, Lookuparray1, Value2 As Range, Lookuparray2 As Range)
MultipleLookup = Evaluate("=IFERROR(INDEX(Returnarray, SMALL(IF(Value1 & Value2=Lookuparray1&Lookuparray2, ROW(Returnarray)-MIN(ROW(Returnarray))+1,""), ROW()-Offset)),""))")
End Function
Я также пытался изменить формулу и использовать совпадение вместо if, но тогда это дает мне только первое совпадение.
Может кто-нибудь помочь мне заставить его работать?Возможно ли иметь функцию с переменным количеством критериев?
Спасибо