Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в диапазоне с двумя условиями 
:(
    Опции темы
fury1986
Дата 30.1.2010, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.1.2010

Репутация: нет
Всего: нет



Есть диапазон, идущий в горизонтальном направлении. Т.е. диапазон берётся из одной строки, но разных столбцов:

__А10_|__B10_|__C10_|__D10_|__E10_|
-0.69 | 2.11 | -1.70 | 0.89 | 1.20

Есть два пороговых значения: минимума и максимума. Нужно проверить диапазон на их наличие и вернуть первое из них (в случае если встречается значение меньше порогового минимума, то возвращается пороговый минимум; если встречается значение больше порогового максимума, то возвращается пороговый максимум; иначе последнее значение диапазона), либо значение в последнем столбце, если ни одно из них не найдено. 
Допустим пороговый минимум у нас -0.25, а максимум 2.00, то из приведённого в качестве примера диапазона должно вернуться -0.25 (-0.69 меньше чем -0.25, соответственно возвращаем пороговый минимум -0.25; в диапазоне также присутствует пороговый максимум — 2.11, но он идёт позже, поэтому его не учитываем).
Допустим пороговый минимум у нас -1.50, а пороговый максимум 1.50. Значит из приведённого примера должно вернуться 1.50 (2.11 больше порогового максимума 1.50 и встречается раньше, чем пороговый минимум).
Помогите с формулой для этой задачи. Пока что пришёл к такой формуле:

ЕСЛИ(МИНА(A10:E10) < -1.50;1.50;ЕСЛИ(МАКСА(A10:E10) > 1.50;1.50;E10))

Но это формула работает не совсем так, как мне надо. Если в строке присутствует пороговый минимум, то она все равно вернёт его, даже если он идёт позже порогового максимума. 
Подскажите решение.
PM MAIL   Вверх
Veve
Дата 31.1.2010, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 1.1.2005
Где: Латвия, Рига

Репутация: 2
Всего: 13



Привет, предлагаю след. формулу: 

=MIN(IF((A1:E1<C3)+(A1:E1>D3);COLUMN(A1:E1)))

думаю, если будет желание доработаешь. Формула возвращает номер столбца содержащего то самое критическое значение.

в C3 храниться пороговый минимум, в D3 пороговый максимум.

Внимание! для ввода формулы нужно назать Ctrl+Shift+Enter. Если всё сделаешь правильно, то формула будет выглядить так:

{=MIN(IF((A1:E1<C3)+(A1:E1>D3);COLUMN(A1:E1)))}

На всякий случай прикладываю exl файл с примером.

Это сообщение отредактировал(а) Veve - 31.1.2010, 12:15

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  test.rar 3,44 Kb
PM MAIL ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0394 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.