Добрый день.
Файл во вложении
Прошу у вас помощи. Моих знаний, к сожалению не хватает для самостоятельной реализации идеи.
Задача - поиск граничных значений в заданном диапазоне.
Дано:
1. Какое-то число x
2. Именованный диапазон любого размера n1,n2.....n
Я нахожу положение z1 этого числа в данном диапазоне по следующим условиям:
Если x <= min, то z1 = min
Если x >= max, то z1 = max
Если n2 > x > n1, то z1 = n2
Если n3 > x > n2, то z1 = n3
и т.д.
Вот такая у меня вышла формула
=ЕСЛИМН(
B3<=МИН(Диапазон1);ЕСЛИ(B3<=ИНДЕКС(Диапазон1;1);ИНДЕКС(Диапазон1;2));
B3>=МАКС(Диапазон1);ЕСЛИ(B3>=ИНДЕКС(Диапазон1;ПОИСКПОЗ(МАКС(Диапазон1);Диапазон1;0));ИНДЕКС(Диапазон1;ПОИСКПОЗ(МАКС(Диапазон1);Диапазон1;0)-1));
И(B3>МИН(Диапазон1);B3<МАКС(Диапазон1));ИНДЕКС(Диапазон1;ПОИСКПОЗ(МИН(ЕСЛИ(Диапазон1>=B3;Диапазон1));Диапазон1;0)))
Как можно заметить, в данной формуле всего 2 аргумента. 1 - число, 2 - рассматриваемый диапазон
Я использую её часто, для разных чисел и диапазонов. Поэтому редактировать её каждый раз довольно сложно и можно легко ошибиться.
Возможно ли средствами экселя или VBA создать на основе этой формулы - новую функцию с 2 аргументами?
Файл во вложении
Прошу у вас помощи. Моих знаний, к сожалению не хватает для самостоятельной реализации идеи.
Задача - поиск граничных значений в заданном диапазоне.
Дано:
1. Какое-то число x
2. Именованный диапазон любого размера n1,n2.....n
Я нахожу положение z1 этого числа в данном диапазоне по следующим условиям:
Если x <= min, то z1 = min
Если x >= max, то z1 = max
Если n2 > x > n1, то z1 = n2
Если n3 > x > n2, то z1 = n3
и т.д.
Вот такая у меня вышла формула
=ЕСЛИМН(
B3<=МИН(Диапазон1);ЕСЛИ(B3<=ИНДЕКС(Диапазон1;1);ИНДЕКС(Диапазон1;2));
B3>=МАКС(Диапазон1);ЕСЛИ(B3>=ИНДЕКС(Диапазон1;ПОИСКПОЗ(МАКС(Диапазон1);Диапазон1;0));ИНДЕКС(Диапазон1;ПОИСКПОЗ(МАКС(Диапазон1);Диапазон1;0)-1));
И(B3>МИН(Диапазон1);B3<МАКС(Диапазон1));ИНДЕКС(Диапазон1;ПОИСКПОЗ(МИН(ЕСЛИ(Диапазон1>=B3;Диапазон1));Диапазон1;0)))
Как можно заметить, в данной формуле всего 2 аргумента. 1 - число, 2 - рассматриваемый диапазон
Я использую её часто, для разных чисел и диапазонов. Поэтому редактировать её каждый раз довольно сложно и можно легко ошибиться.
Возможно ли средствами экселя или VBA создать на основе этой формулы - новую функцию с 2 аргументами?