Функция ISBETWEEN проверяет, падает ли значение между нижней границей и верхней границей. Если в Excel нет встроенной функции ISBETWEEN, проверяемое значение должно сравниваться дважды; сначала с '>', а затем с '<' (или '> =' и '< =' для теста ISBETWEEN, который включает в себя оценки.)Как реализовать ISBETWEEN-подобную функцию для массивов значений без необходимости вычислять массив более одного раза?
Сравнивая значение дважды, необходимо вычислить его дважды и это может быть чрезвычайно дорого, когда это значение является массивом. Поскольку функции массива являются несколько загадочными даже в лучшие времена, удвоение при таком вычислении также посылает читабельность функции plummeting.
Мой вопрос: знает ли кто-нибудь о методе, который предоставляет функциональные возможности ISBETWEEN для массива значений без двойного вычисления этого массива? Я предпочитаю делать это с помощью встроенных функций Excel, но если у кого-то есть отличный VBA, это тоже хорошо.
Большое спасибо за ваше время!
Will
Что значит «ISBETWEEN-подобная функция для массива значений», вы проверяете каждое значение в этом массиве между макс и минусом или вы даете другое значение и видите, что это значение меньше, чем Макс (массив) и больше, чем Min (массив)? –
afaik Существует нет разумного способа получить массив из CSE в функцию VBA и вернуть массив для CSE для продолжения обработки, поэтому VBA может быть не стартером здесь. Возможно, функция 'Lookup()' может быть здесь полезной, так как она будет «искать» диапазон и возвращать результат. Не уверен, что первым параметром 'Lookup()' может быть сам массив. Это было бы интересно ... – JNevill
Как бы вы ожидали *** какой-либо *** реализации, чтобы проверить, находится ли значение между двумя числами только с одним сравнением? – Comintern