Поиск ближайшего значения

Программирование на Visual Basic for Applications
HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Поиск ближайшего значения

Сообщение HandKot » 07.07.2008 (Пн) 14:09

Добрый всем день
Есть лист со значениями в столбце A:
100 - 200
201 - 300
301 - 400
401 - 500


В столбце В вбиваются различные числа.
Вопрос: как найти строку, для которой верно условие что она включает в себа заданное число

К примеру:
если в ячейке вбито 130, то должна вернутться строка "100 - 200"
если в ячейке вбито 150, то должна вернутться строка "100 - 200"
если в ячейке вбито 310, то должна вернутться строка "301 - 400"

Вроде понятно объяснил

ЗЫЖ возможно преобразование столбца А
I Have Nine Lives You Have One Only
THINK!

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 07.07.2008 (Пн) 14:43

В ячейке [C1] число 150

Вариант 1

В столбце А:

0
100
201
301
401
501

В столбце В:

"0 - 99"
"100 - 200"
"201 - 300"
"301 - 400"
"401 - 500"
"501 +"

Формула:

=ВПР(C1;$A$1:$B$6;2)
=ПРОСМОТР(C1;$A$1:$A$6;$B$1:$B$6)
=ИНДЕКС($B$1:$B$6;ПОИСКПОЗ(C1;$A$1:$A$6))

Вариант 2

В столбце А:

0
100
201
301
401
501

В столбце В:

99
200
300
400
500
"+"

Формула:
=ВПР(C1;$A$1:$B$6;1)&"-"&ВПР(C1;$A$1:$B$6;2)
=ПРОСМОТР(C1;$A$1:$A$6)&"-"&ПРОСМОТР(C1;$A$1:$A$6;$B$1:$B$6)
=ИНДЕКС($A$1:$A$6;ПОИСКПОЗ(C1;$A$1:$A$6))&"-"&ИНДЕКС($B$1:$B$6;ПОИСКПОЗ(C1;$A$1:$A$6))[/u]
Привет,
KL

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 08.07.2008 (Вт) 7:07

Спасибо KL
что-то не подумал, что ВПР может возвращать наибольшее меньшее значение

читать надо внимательнее "хелп"

Спасибо еще раз
I Have Nine Lives You Have One Only
THINK!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

    TopList