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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск по 4 столбцам с выводом нескольких данных из таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск по 4 столбцам с выводом нескольких данных из таблицы (Формулы)
Поиск по 4 столбцам с выводом нескольких данных из таблицы
Death4ever Дата: Четверг, 02.01.2014, 15:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
И снова всех с Новым Годом! Опять возникла задача ещё сложнее предыдущей. Дело вот в чём...

Существует таблица, по которой нужно определить 2 параметра длины. Причём определить необходимо с довольно сильной головной болью. Дано число (в примере я указал Q=3675), но оно не постоянно, то есть будет изменяться, к счастью, только оно. По этому числу нужно определить наиболее рациональный вариант оборудования. Определяется этот вариант диапазоном. То есть если Q=3675, то оно подходит и в промежуток между 2720-3800, и в 3240-4520, и в 2850-3990, и т. д., вариантов может быть несколько, но необходимо выбрать только один, а именно наименьшей, у которого первое число из данного диапазона будет самым маленьким. После того как оптимальный диапазон найден, из столбцов "a", "b" и правой части колонки "Циклон" (там, где вписаны "УЦ-450", "УЦ-500", и т. д.) нужно вывести все 3 значения, которые будут соответствовать выбранному ранее диапазону. Похожим образом, как я показал справа (Результат). И финальная часть этой оперы - это вывод числа из самой левой колонки (левой части колонки "Циклон", где повторяются цифры "2", "3" и "4"). Тоже похожим образом, как в "Результате"

P.S. Таблицу можно изменять как хочется, главное, чтобы было удобно оперировать с ней. И мини таблицу "Результат" тоже...
К сообщению приложен файл: 3755044.xlsx (14.8 Kb)
 
Ответить
СообщениеИ снова всех с Новым Годом! Опять возникла задача ещё сложнее предыдущей. Дело вот в чём...

Существует таблица, по которой нужно определить 2 параметра длины. Причём определить необходимо с довольно сильной головной болью. Дано число (в примере я указал Q=3675), но оно не постоянно, то есть будет изменяться, к счастью, только оно. По этому числу нужно определить наиболее рациональный вариант оборудования. Определяется этот вариант диапазоном. То есть если Q=3675, то оно подходит и в промежуток между 2720-3800, и в 3240-4520, и в 2850-3990, и т. д., вариантов может быть несколько, но необходимо выбрать только один, а именно наименьшей, у которого первое число из данного диапазона будет самым маленьким. После того как оптимальный диапазон найден, из столбцов "a", "b" и правой части колонки "Циклон" (там, где вписаны "УЦ-450", "УЦ-500", и т. д.) нужно вывести все 3 значения, которые будут соответствовать выбранному ранее диапазону. Похожим образом, как я показал справа (Результат). И финальная часть этой оперы - это вывод числа из самой левой колонки (левой части колонки "Циклон", где повторяются цифры "2", "3" и "4"). Тоже похожим образом, как в "Результате"

P.S. Таблицу можно изменять как хочется, главное, чтобы было удобно оперировать с ней. И мини таблицу "Результат" тоже...

Автор - Death4ever
Дата добавления - 02.01.2014 в 15:35
Jhonson Дата: Четверг, 02.01.2014, 16:17 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

С новым годом!
формула массива:
Код
=ИНДЕКС($D$6:$I$23;ПОИСКПОЗ(МИН(ЕСЛИ($F$6:$F$23*(($O$9>$F$6:$F$23)*($O$9<$G$6:$G$23))<>0;$F$6:$F$23));$F$6:$F$23;);1)
К сообщению приложен файл: 7909867.xlsx (15.3 Kb)


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
СообщениеС новым годом!
формула массива:
Код
=ИНДЕКС($D$6:$I$23;ПОИСКПОЗ(МИН(ЕСЛИ($F$6:$F$23*(($O$9>$F$6:$F$23)*($O$9<$G$6:$G$23))<>0;$F$6:$F$23));$F$6:$F$23;);1)

Автор - Jhonson
Дата добавления - 02.01.2014 в 16:17
Nic70y Дата: Четверг, 02.01.2014, 16:23 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 8791
Репутация: 2293 ±
Замечаний: 0% ±

Excel 2010
Тоже массивные 2 шт (в файле)
К сообщению приложен файл: 897.xlsx (15.5 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 02.01.2014, 16:26
 
Ответить
СообщениеТоже массивные 2 шт (в файле)

Автор - Nic70y
Дата добавления - 02.01.2014 в 16:23
KuklP Дата: Четверг, 02.01.2014, 16:39 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
     Dim r As Range, a, i&, n&
     n = [O9]
     a = [d6:i23].Value
     ReDim b(1 To 4)
     For i = 1 To UBound(a)
         If n >= a(i, 3) And n <= a(i, 4) Then
             b(1) = a(i, 1)
             b(2) = a(i, 2)
             b(3) = a(i, 5)
             b(4) = a(i, 6)
             [m14:p14] = b
             Exit Sub
         End If
     Next
End Sub
[/vba]
К сообщению приложен файл: 3755044.xls (48.5 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Public Sub www()
     Dim r As Range, a, i&, n&
     n = [O9]
     a = [d6:i23].Value
     ReDim b(1 To 4)
     For i = 1 To UBound(a)
         If n >= a(i, 3) And n <= a(i, 4) Then
             b(1) = a(i, 1)
             b(2) = a(i, 2)
             b(3) = a(i, 5)
             b(4) = a(i, 6)
             [m14:p14] = b
             Exit Sub
         End If
     Next
End Sub
[/vba]

Автор - KuklP
Дата добавления - 02.01.2014 в 16:39
AlexM Дата: Четверг, 02.01.2014, 16:56 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4512
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Еще вариант формулами массива.
К сообщению приложен файл: 3755044_new.xls (35.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Четверг, 02.01.2014, 17:05
 
Ответить
СообщениеЕще вариант формулами массива.

Автор - AlexM
Дата добавления - 02.01.2014 в 16:56
Death4ever Дата: Четверг, 02.01.2014, 16:59 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо огромное за помощь, но немножко не сходиться. Допустим, если поменять Q на (допустим) 1550 или 2750, то видно, что есть диапазоны выше, которые являются более приемлемыми.
Извините, это, наверное, моя ошибка. Я неправильно объяснил. Наилучшим вариантом оборудования, будет не наименьшее число в диапазоне, а что бы выбираемый диапазон был как можно выше. Грубо говоря, нужно выбрать самый верхний из всех диапазонов, а по нему уже выбрать 2 или 3, УЦ-450 или УЦ-500. То есть если Q=2400, то оптимальным циклоном будет 4 УЦ-450, а если Q=3200, то циклон 4 УЦ-550.

P.S. Простите ещё раз за неграмотное описание задачки...помогите пожалуйста ещё раз :(
P.S.S. Небольшое отступление от темы, объясните ещё пожалуйста, как выделять ячейки цветом, когда нужная ячейка из таблицы является результатом поиска. Не могу объяснить корректно, но я говорю про выделение серым цветом всех диапазонов, которые подходят по критерию в предыдущем посте с примером решения...


Сообщение отредактировал Death4ever - Четверг, 02.01.2014, 17:05
 
Ответить
СообщениеСпасибо огромное за помощь, но немножко не сходиться. Допустим, если поменять Q на (допустим) 1550 или 2750, то видно, что есть диапазоны выше, которые являются более приемлемыми.
Извините, это, наверное, моя ошибка. Я неправильно объяснил. Наилучшим вариантом оборудования, будет не наименьшее число в диапазоне, а что бы выбираемый диапазон был как можно выше. Грубо говоря, нужно выбрать самый верхний из всех диапазонов, а по нему уже выбрать 2 или 3, УЦ-450 или УЦ-500. То есть если Q=2400, то оптимальным циклоном будет 4 УЦ-450, а если Q=3200, то циклон 4 УЦ-550.

P.S. Простите ещё раз за неграмотное описание задачки...помогите пожалуйста ещё раз :(
P.S.S. Небольшое отступление от темы, объясните ещё пожалуйста, как выделять ячейки цветом, когда нужная ячейка из таблицы является результатом поиска. Не могу объяснить корректно, но я говорю про выделение серым цветом всех диапазонов, которые подходят по критерию в предыдущем посте с примером решения...

Автор - Death4ever
Дата добавления - 02.01.2014 в 16:59
AlexM Дата: Четверг, 02.01.2014, 17:10 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4512
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
А вы файл из 5 сообщения посмотрели? там УФ есть и ошибки при 1550 и 2750 нет.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеА вы файл из 5 сообщения посмотрели? там УФ есть и ошибки при 1550 и 2750 нет.

Автор - AlexM
Дата добавления - 02.01.2014 в 17:10
vikttur Дата: Четверг, 02.01.2014, 17:26 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

[вариант удален]

Пробуем догадаться:
Код
=МАКС(ЕСЛИ(F6:F23<=O9;ЕСЛИ(G6:G23>=O9;D6:D23)))

Формула массива, покажет наибольшее подходящее число столбца D. Это нужно определять первым?
Тогда вторая (тоже массивная):
Код
=ИНДЕКС(E6:E23;МАКС(ЕСЛИ(F6:F23<=O9;ЕСЛИ(G6:G23>=O9;ЕСЛИ(D6:D23=M15;СТРОКА(6:23)-5)))-M15+2))

Для a и b достаточно:
Код
=ВПР(N15;E6:I23;4;)
К сообщению приложен файл: 7199471.xlsx (15.5 Kb)


Сообщение отредактировал vikttur - Четверг, 02.01.2014, 18:21
 
Ответить
Сообщение[вариант удален]

Пробуем догадаться:
Код
=МАКС(ЕСЛИ(F6:F23<=O9;ЕСЛИ(G6:G23>=O9;D6:D23)))

Формула массива, покажет наибольшее подходящее число столбца D. Это нужно определять первым?
Тогда вторая (тоже массивная):
Код
=ИНДЕКС(E6:E23;МАКС(ЕСЛИ(F6:F23<=O9;ЕСЛИ(G6:G23>=O9;ЕСЛИ(D6:D23=M15;СТРОКА(6:23)-5)))-M15+2))

Для a и b достаточно:
Код
=ВПР(N15;E6:I23;4;)

Автор - vikttur
Дата добавления - 02.01.2014 в 17:26
KuklP Дата: Четверг, 02.01.2014, 18:23 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
И чем не устраивает решение из №4?


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеИ чем не устраивает решение из №4?

Автор - KuklP
Дата добавления - 02.01.2014 в 18:23
Death4ever Дата: Четверг, 02.01.2014, 19:38 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ошибки при 1550 и 2750 нет.

Ошибка всё равно появляется, если ввести Q=1550, то он результатом будет циклон 2 УЦ-500, но лучшим вариантом является 3 УЦ-450
Можно ещё у вас поинтересоваться, как вы делаете выделение серым, а то это меня весьма заинтересовало, и помогло бы в дальнейшей работе?
И чем не устраивает решение из №4?

Если честно, то я понятия не имею ничего насчёт макросов, и, соответственно, переписать их не сумею. А таких похожих таблиц будет ещё много, как минимум ещё 6...
Пробуем догадаться:
=МАКС(ЕСЛИ(F6:F23<=O9;ЕСЛИ(G6:G23>=O9;D6:D23)))

Вариант, конечно, хороший, гораздо проще предыдущих, основанный на одном поиске, и выдаче простых результатов, как следствие из него, но по-прежнему присутствует ошибка. Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500
 
Ответить
Сообщение
ошибки при 1550 и 2750 нет.

Ошибка всё равно появляется, если ввести Q=1550, то он результатом будет циклон 2 УЦ-500, но лучшим вариантом является 3 УЦ-450
Можно ещё у вас поинтересоваться, как вы делаете выделение серым, а то это меня весьма заинтересовало, и помогло бы в дальнейшей работе?
И чем не устраивает решение из №4?

Если честно, то я понятия не имею ничего насчёт макросов, и, соответственно, переписать их не сумею. А таких похожих таблиц будет ещё много, как минимум ещё 6...
Пробуем догадаться:
=МАКС(ЕСЛИ(F6:F23<=O9;ЕСЛИ(G6:G23>=O9;D6:D23)))

Вариант, конечно, хороший, гораздо проще предыдущих, основанный на одном поиске, и выдаче простых результатов, как следствие из него, но по-прежнему присутствует ошибка. Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500

Автор - Death4ever
Дата добавления - 02.01.2014 в 19:38
Serge_007 Дата: Четверг, 02.01.2014, 20:28 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Таблицу можно изменять как хочется, главное, чтобы было удобно оперировать с ней
Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500
Код
=ИНДЕКС($D6:$I23;ПОИСКПОЗ(1;($G6:$G23>=$O9)*($O9>=$F6:$F23););СТОЛБЕЦ(A1))


Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500
необходимо выбрать только один, а именно наименьшей, у которого первое число из данного диапазона будет самым маленьким
Вы как-то сами себе противоречите
При Q=2750 подходящими будут 2240-3140 - 4 УЦ-500 и 2040-2850 - 3 УЦ-550, однако первое число диапазона меньше у 3 УЦ-550 (2040)

как вы делаете выделение серым
Это делается условным форматированием. Формула есть в файле Алекса
К сообщению приложен файл: Death4ever.xls (40.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Таблицу можно изменять как хочется, главное, чтобы было удобно оперировать с ней
Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500
Код
=ИНДЕКС($D6:$I23;ПОИСКПОЗ(1;($G6:$G23>=$O9)*($O9>=$F6:$F23););СТОЛБЕЦ(A1))


Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500
необходимо выбрать только один, а именно наименьшей, у которого первое число из данного диапазона будет самым маленьким
Вы как-то сами себе противоречите
При Q=2750 подходящими будут 2240-3140 - 4 УЦ-500 и 2040-2850 - 3 УЦ-550, однако первое число диапазона меньше у 3 УЦ-550 (2040)

как вы делаете выделение серым
Это делается условным форматированием. Формула есть в файле Алекса

Автор - Serge_007
Дата добавления - 02.01.2014 в 20:28
vikttur Дата: Четверг, 02.01.2014, 22:34 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

по-прежнему присутствует ошибка. Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500

Объясните, почему.
В моем варианте находится наибольшее значение столбца D, при котором искомое попадает в диапазон Q, м3/ч.
Далее находится строка, расположенная ниже других (строка с большим порядковым номером). Последнее - определяется циклон (текстовое значение), которому принадлежит найденная строка.


Сообщение отредактировал vikttur - Четверг, 02.01.2014, 22:40
 
Ответить
Сообщение
по-прежнему присутствует ошибка. Если Q=2750, то результатом выводиться 4 УЦ-550, но оптимальный выбор 4 УЦ-500

Объясните, почему.
В моем варианте находится наибольшее значение столбца D, при котором искомое попадает в диапазон Q, м3/ч.
Далее находится строка, расположенная ниже других (строка с большим порядковым номером). Последнее - определяется циклон (текстовое значение), которому принадлежит найденная строка.

Автор - vikttur
Дата добавления - 02.01.2014 в 22:34
KuklP Дата: Четверг, 02.01.2014, 22:37 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Вить, потому, что он выше по списку. Моя программа как раз находит первое сверху и заканчивает на этом поиск. Но у автора макрофобия :(


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВить, потому, что он выше по списку. Моя программа как раз находит первое сверху и заканчивает на этом поиск. Но у автора макрофобия :(

Автор - KuklP
Дата добавления - 02.01.2014 в 22:37
vikttur Дата: Четверг, 02.01.2014, 22:42 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Так пускай толково объяснит, выше нужно, ниже, больше, меньше... :)
Попробуем, Death4ever?


Сообщение отредактировал vikttur - Четверг, 02.01.2014, 22:44
 
Ответить
СообщениеТак пускай толково объяснит, выше нужно, ниже, больше, меньше... :)
Попробуем, Death4ever?

Автор - vikttur
Дата добавления - 02.01.2014 в 22:42
KuklP Дата: Четверг, 02.01.2014, 22:43 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Дык, вроде:
Наилучшим вариантом оборудования, будет не наименьшее число в диапазоне, а что бы выбираемый диапазон был как можно выше.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеДык, вроде:
Наилучшим вариантом оборудования, будет не наименьшее число в диапазоне, а что бы выбираемый диапазон был как можно выше.

Автор - KuklP
Дата добавления - 02.01.2014 в 22:43
vikttur Дата: Четверг, 02.01.2014, 22:47 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Цитата
...нужно выбрать самый верхний из всех диапазонов, а по нему уже выбрать...

Я понял, что "верхний" - не в таблице: 4 "верхнее":) , чем 2.
В общем - автора!
 
Ответить
Сообщение
Цитата
...нужно выбрать самый верхний из всех диапазонов, а по нему уже выбрать...

Я понял, что "верхний" - не в таблице: 4 "верхнее":) , чем 2.
В общем - автора!

Автор - vikttur
Дата добавления - 02.01.2014 в 22:47
KuklP Дата: Четверг, 02.01.2014, 22:49 | Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
М-да... Ты меня озадачил. Мож и правда... %)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеМ-да... Ты меня озадачил. Мож и правда... %)

Автор - KuklP
Дата добавления - 02.01.2014 в 22:49
Nic70y Дата: Четверг, 02.01.2014, 23:40 | Сообщение № 18
Группа: Друзья
Ранг: Экселист
Сообщений: 8791
Репутация: 2293 ±
Замечаний: 0% ±

Excel 2010
Вы просто все зануды :)
Правильный ответ в №3 :)


ЮMoney 41001841029809
 
Ответить
СообщениеВы просто все зануды :)
Правильный ответ в №3 :)

Автор - Nic70y
Дата добавления - 02.01.2014 в 23:40
AlexM Дата: Пятница, 03.01.2014, 03:09 | Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4512
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
но необходимо выбрать только один, а именно наименьшей, у которого первое число из данного диапазона будет самым маленьким.

Для меня эта фаза была ключевой.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
но необходимо выбрать только один, а именно наименьшей, у которого первое число из данного диапазона будет самым маленьким.

Для меня эта фаза была ключевой.

Автор - AlexM
Дата добавления - 03.01.2014 в 03:09
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск по 4 столбцам с выводом нескольких данных из таблицы (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

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