Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/поиск значения в двух столбцах - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
поиск значения в двух столбцах
Дмитрий Дата: Понедельник, 25.02.2013, 14:01 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 6 ±
Замечаний: 0% ±

Добрый день уважаемые форумчане!
Есть три столбца значений на листе Excel: A, B, C.
В первую строку столбца D нужно выводить значение из некоторой строки столбца B или C, для которой первой и не важно в каком столбце выполняется условие.

Условие: берем значение A1 в первой строке столбца A (остальные строки в нем нас не интересуют). В столбце B, начиная с первой, ищем строку, значение в которой больше или равно A1+200. В столбце C, начиная с первой, ищем строку, значение в которой меньше или равно A1-200. При выполнении условия в столбце B или при выполнении условия в столбце C соответствующее значение выводится в первую строку столбца D. То есть выводится первое значение, в котором выполнилось любое из двух указанных выше условий.
Значения в столбцах B и C не подчинены никаким зависимостям (полностью случайные).

Есть небольшая наработка, но она, почему то не хочет работать. Не могли бы Вы, подтолкнуть в нужном направлении???? заранее спасибо за уделённое время.
К сообщению приложен файл: 4297946.xlsx (12.2 Kb)
 
Ответить
СообщениеДобрый день уважаемые форумчане!
Есть три столбца значений на листе Excel: A, B, C.
В первую строку столбца D нужно выводить значение из некоторой строки столбца B или C, для которой первой и не важно в каком столбце выполняется условие.

Условие: берем значение A1 в первой строке столбца A (остальные строки в нем нас не интересуют). В столбце B, начиная с первой, ищем строку, значение в которой больше или равно A1+200. В столбце C, начиная с первой, ищем строку, значение в которой меньше или равно A1-200. При выполнении условия в столбце B или при выполнении условия в столбце C соответствующее значение выводится в первую строку столбца D. То есть выводится первое значение, в котором выполнилось любое из двух указанных выше условий.
Значения в столбцах B и C не подчинены никаким зависимостям (полностью случайные).

Есть небольшая наработка, но она, почему то не хочет работать. Не могли бы Вы, подтолкнуть в нужном направлении???? заранее спасибо за уделённое время.

Автор - Дмитрий
Дата добавления - 25.02.2013 в 14:01
Serge_007 Дата: Понедельник, 25.02.2013, 14:22 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
В В 15200, в С 14800
Что выводить?

Цитата (Дмитрий)
Правильный ответ 14 600

Почему?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВ В 15200, в С 14800
Что выводить?

Цитата (Дмитрий)
Правильный ответ 14 600

Почему?

Автор - Serge_007
Дата добавления - 25.02.2013 в 14:22
Дмитрий Дата: Понедельник, 25.02.2013, 14:29 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 6 ±
Замечаний: 0% ±

что произрошло раньше то и верно в первой таблице произошло раньше =<200 тоесть 14600
 
Ответить
Сообщениечто произрошло раньше то и верно в первой таблице произошло раньше =<200 тоесть 14600

Автор - Дмитрий
Дата добавления - 25.02.2013 в 14:29
Дмитрий Дата: Понедельник, 25.02.2013, 14:31 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 6 ±
Замечаний: 0% ±

одновременно 15200 и 14800 не может быть
 
Ответить
Сообщениеодновременно 15200 и 14800 не может быть

Автор - Дмитрий
Дата добавления - 25.02.2013 в 14:31
Serge_007 Дата: Понедельник, 25.02.2013, 14:48 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Дмитрий)
одновременно 15200 и 14800 не может быть

Цитата (Дмитрий)
Значения в столбцах B и C не подчинены никаким зависимостям (полностью случайные)


Цитата (Дмитрий)
что произрошло раньше то и верно

Если "раньше" - это выше в таблице, то так (не оптимизируя, формула массива):
Код
=ВЫБОР((МИН(ЕСЛИ(B1:B24>=A1+200;B1:B24))>=МАКС((C1:C24<=A1-200)*C1:C24))+1;ИНДЕКС(B1:B24;ПОИСКПОЗ(МИН(ЕСЛИ(B1:B24>=A1+200;B1:B24));B1:B24;));ИНДЕКС(C1:C24;ПОИСКПОЗ(МАКС((C1:C24<=A1-200)*C1:C24);C1:C24;)))


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Дмитрий)
одновременно 15200 и 14800 не может быть

Цитата (Дмитрий)
Значения в столбцах B и C не подчинены никаким зависимостям (полностью случайные)


Цитата (Дмитрий)
что произрошло раньше то и верно

Если "раньше" - это выше в таблице, то так (не оптимизируя, формула массива):
Код
=ВЫБОР((МИН(ЕСЛИ(B1:B24>=A1+200;B1:B24))>=МАКС((C1:C24<=A1-200)*C1:C24))+1;ИНДЕКС(B1:B24;ПОИСКПОЗ(МИН(ЕСЛИ(B1:B24>=A1+200;B1:B24));B1:B24;));ИНДЕКС(C1:C24;ПОИСКПОЗ(МАКС((C1:C24<=A1-200)*C1:C24);C1:C24;)))

Автор - Serge_007
Дата добавления - 25.02.2013 в 14:48
ABC Дата: Понедельник, 25.02.2013, 14:49 | Сообщение № 6
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация: 112 ±
Замечаний: 0% ±

Excel 2007
массивные формулы
замените формуле ИНДЕКС(B1:C24 на ИНДЕКС(C1:C24
Код
=ИНДЕКС(B1:C24;МИН(ПОИСКПОЗ(1;--(B1:B24>=A1+200);0);ПОИСКПОЗ(1;--(C1:C24<=A1-200);0));2)

или так наименьший для D1
Код
=ИНДЕКС(C1:C24;ПОИСКПОЗ(МИН(ЕСЛИ(200<=(B1:B24-C1:C24);B1:B24-C1:C24));B1:B24-C1:C24;0))


MS Excel 2007 and 2010...
-------------------------------
С Уважением, Даулет


Сообщение отредактировал ABC - Понедельник, 25.02.2013, 15:14
 
Ответить
Сообщениемассивные формулы
замените формуле ИНДЕКС(B1:C24 на ИНДЕКС(C1:C24
Код
=ИНДЕКС(B1:C24;МИН(ПОИСКПОЗ(1;--(B1:B24>=A1+200);0);ПОИСКПОЗ(1;--(C1:C24<=A1-200);0));2)

или так наименьший для D1
Код
=ИНДЕКС(C1:C24;ПОИСКПОЗ(МИН(ЕСЛИ(200<=(B1:B24-C1:C24);B1:B24-C1:C24));B1:B24-C1:C24;0))

Автор - ABC
Дата добавления - 25.02.2013 в 14:49
Дмитрий Дата: Понедельник, 25.02.2013, 17:35 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 6 ±
Замечаний: 0% ±

Спасибо всем большое за уделённое время на решение задачи! очень помогли! спасибо!
 
Ответить
СообщениеСпасибо всем большое за уделённое время на решение задачи! очень помогли! спасибо!

Автор - Дмитрий
Дата добавления - 25.02.2013 в 17:35
ВладимирG Дата: Вторник, 26.02.2013, 08:56 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
Код
=ИНДЕКС(B1:C24;ПОИСКПОЗ(1;(B1:B24<A1+200)*(C1:C24<A1-200););ПОИСКПОЗ(1;(ИНДЕКС(B1:C24;ПОИСКПОЗ(1;(B1:B24<A1+200)*(C1:C24<A1-200););Ч(ИНДЕКС({1;2};)))<A1-200)*(ИНДЕКС(B1:C24;ПОИСКПОЗ(1;(B1:B24<A1+200)*(C1:C24<A1-200););Ч(ИНДЕКС({1;2};)))<A1+200);))
 
Ответить
Сообщение
Код
=ИНДЕКС(B1:C24;ПОИСКПОЗ(1;(B1:B24<A1+200)*(C1:C24<A1-200););ПОИСКПОЗ(1;(ИНДЕКС(B1:C24;ПОИСКПОЗ(1;(B1:B24<A1+200)*(C1:C24<A1-200););Ч(ИНДЕКС({1;2};)))<A1-200)*(ИНДЕКС(B1:C24;ПОИСКПОЗ(1;(B1:B24<A1+200)*(C1:C24<A1-200););Ч(ИНДЕКС({1;2};)))<A1+200);))

Автор - ВладимирG
Дата добавления - 26.02.2013 в 08:56
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!