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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск значения в массиве - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск значения в массиве (Формулы/Formulas)
Поиск значения в массиве
NiZiM Дата: Четверг, 09.08.2018, 16:28 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Ребята, нужна помощь. Сам пока не могу разобраться.
Суть. Есть таблица строгой формы (формат таблицы менять нельзя в силу ряда причин). Таблица определяет стоимость транспортировки товара исходя из 3-х параметров: элеватор погрузки, тип товара и пункта выгрузки (покупателя).
Что необходимо - возвращать в ячейку значение этой стоимости после выбора из списка данных параметров. Яснее суть вопроса в прикрепленном файле.
Помогите, плз, с советом!
Заранее благодарен!
К сообщению приложен файл: 8778070.xlsx(17.0 Kb)
 
Ответить
СообщениеРебята, нужна помощь. Сам пока не могу разобраться.
Суть. Есть таблица строгой формы (формат таблицы менять нельзя в силу ряда причин). Таблица определяет стоимость транспортировки товара исходя из 3-х параметров: элеватор погрузки, тип товара и пункта выгрузки (покупателя).
Что необходимо - возвращать в ячейку значение этой стоимости после выбора из списка данных параметров. Яснее суть вопроса в прикрепленном файле.
Помогите, плз, с советом!
Заранее благодарен!

Автор - NiZiM
Дата добавления - 09.08.2018 в 16:28
sboy Дата: Четверг, 09.08.2018, 16:45 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2020
Репутация: 578 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
такой вариант
Код
=ИНДЕКС(ИНДЕКС(B8:J8;ПОИСКПОЗ(B2;B6:J6;)):ИНДЕКС(B17:J17;ПОИСКПОЗ(B2;B6:J6;)+2);ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;ИНДЕКС(B7:J7;ПОИСКПОЗ(B2;B6:J6;)):ИНДЕКС(B7:J7;ПОИСКПОЗ(B2;B6:J6;)+2)))
К сообщению приложен файл: 3223439.xlsx(10.8 Kb)
 
Ответить
СообщениеДобрый день.
такой вариант
Код
=ИНДЕКС(ИНДЕКС(B8:J8;ПОИСКПОЗ(B2;B6:J6;)):ИНДЕКС(B17:J17;ПОИСКПОЗ(B2;B6:J6;)+2);ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;ИНДЕКС(B7:J7;ПОИСКПОЗ(B2;B6:J6;)):ИНДЕКС(B7:J7;ПОИСКПОЗ(B2;B6:J6;)+2)))

Автор - sboy
Дата добавления - 09.08.2018 в 16:45
Russel Дата: Четверг, 09.08.2018, 17:02 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1292
Репутация: 293 ±
Замечаний: 0% ±

Excel 2010
Чуть короче:
Код
=СУММПРОИЗВ((A8:A17=B1)*(B7:D7=B3)*СМЕЩ(B8;0;ПОИСКПОЗ(B2;B6:J6)-1;10;3))

или так:
Код
=СУММПРОИЗВ((A8:A17=B1)*(B7:D7=B3)*СМЕЩ(B8:D17;0;ПОИСКПОЗ(B2;B6:J6)-1))

без разницы ;)


QIWI 9173973973

Сообщение отредактировал Russel - Четверг, 09.08.2018, 17:03
 
Ответить
СообщениеЧуть короче:
Код
=СУММПРОИЗВ((A8:A17=B1)*(B7:D7=B3)*СМЕЩ(B8;0;ПОИСКПОЗ(B2;B6:J6)-1;10;3))

или так:
Код
=СУММПРОИЗВ((A8:A17=B1)*(B7:D7=B3)*СМЕЩ(B8:D17;0;ПОИСКПОЗ(B2;B6:J6)-1))

без разницы ;)

Автор - Russel
Дата добавления - 09.08.2018 в 17:02
NiZiM Дата: Четверг, 09.08.2018, 17:03 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Спасибо Вам огромное!!! Все работает. Значит эта та функция, что нужна. Буду переносить её на свой рабочий вариант! Еще раз спасибо!:)
 
Ответить
СообщениеСпасибо Вам огромное!!! Все работает. Значит эта та функция, что нужна. Буду переносить её на свой рабочий вариант! Еще раз спасибо!:)

Автор - NiZiM
Дата добавления - 09.08.2018 в 17:03
lebensvoll Дата: Четверг, 09.08.2018, 17:07 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 780
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
NiZiM, я пока что только так вот смог на скорую НО как их во едино завязать не сооброжу
А уже другие все сообразили )))
К сообщению приложен файл: 5448802.xlsx(11.1 Kb)


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Четверг, 09.08.2018, 17:08
 
Ответить
СообщениеNiZiM, я пока что только так вот смог на скорую НО как их во едино завязать не сооброжу
А уже другие все сообразили )))

Автор - lebensvoll
Дата добавления - 09.08.2018 в 17:07
NiZiM Дата: Четверг, 09.08.2018, 17:23 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Еще раз всем спасибо!!!))) Хорошего дня!
 
Ответить
СообщениеЕще раз всем спасибо!!!))) Хорошего дня!

Автор - NiZiM
Дата добавления - 09.08.2018 в 17:23
sboy Дата: Четверг, 09.08.2018, 17:24 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2020
Репутация: 578 ±
Замечаний: 0% ±

Excel 2010
[offtop]
Чуть короче:

но тормознутей на больших объемах данных :)
 
Ответить
Сообщение[offtop]
Чуть короче:

но тормознутей на больших объемах данных :)

Автор - sboy
Дата добавления - 09.08.2018 в 17:24
krosav4ig Дата: Четверг, 09.08.2018, 21:12 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1623
Репутация: 679 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант
Код
=СУММПРОИЗВ((A8:A17=B1)*(ПРОСМОТР(СТОЛБЕЦ(B6:J6);СТОЛБЕЦ(B6:J6)/(B6:J6>"");B6:J6)=B2)*(B7:J7=B3)*B8:J17)
К сообщению приложен файл: 7801523.xlsx(10.5 Kb)


(_)Õvõ(_)
 
Ответить
Сообщениееще вариант
Код
=СУММПРОИЗВ((A8:A17=B1)*(ПРОСМОТР(СТОЛБЕЦ(B6:J6);СТОЛБЕЦ(B6:J6)/(B6:J6>"");B6:J6)=B2)*(B7:J7=B3)*B8:J17)

Автор - krosav4ig
Дата добавления - 09.08.2018 в 21:12
jakim Дата: Четверг, 09.08.2018, 21:16 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 843
Репутация: 223 ±
Замечаний: 0% ±

Excel 2010
Предлагаю такую формулу

Код
=INDEX(B8:J17;MATCH(B1;A8:A17;0);MATCH(B2;B6:J6;0)+MATCH(B3;B7:J7;0)-1)
 
Ответить
Сообщение
Предлагаю такую формулу

Код
=INDEX(B8:J17;MATCH(B1;A8:A17;0);MATCH(B2;B6:J6;0)+MATCH(B3;B7:J7;0)-1)

Автор - jakim
Дата добавления - 09.08.2018 в 21:16
gling Дата: Четверг, 09.08.2018, 22:53 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1814
Репутация: 439 ±
Замечаний: 0% ±

2010
Еще вариант.
Код
=СУММПРОИЗВ(($A$8:$A$17=$B$1)*($B$6:$J$6=$B$2)*($B$7:$J$7=$B$3)*$B$8:$J$17)
В строке 6 ячейки заполнены, о скрыто объединенным форматом. Можно убрать объединение и скрыть данные в ячейках белым шрифтом. С виду таблица не изменится.
Или еще один вариант формулы не меняя таблицу.
Код
=ИНДЕКС((B8:D17;E8:G17;H8:J17);ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;B7:D7;);ПРАВБ(B2;1))
К сообщению приложен файл: 1261565.xlsx(11.9 Kb)


ЯД-41001506838083

Сообщение отредактировал gling - Четверг, 09.08.2018, 23:13
 
Ответить
СообщениеЕще вариант.
Код
=СУММПРОИЗВ(($A$8:$A$17=$B$1)*($B$6:$J$6=$B$2)*($B$7:$J$7=$B$3)*$B$8:$J$17)
В строке 6 ячейки заполнены, о скрыто объединенным форматом. Можно убрать объединение и скрыть данные в ячейках белым шрифтом. С виду таблица не изменится.
Или еще один вариант формулы не меняя таблицу.
Код
=ИНДЕКС((B8:D17;E8:G17;H8:J17);ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;B7:D7;);ПРАВБ(B2;1))

Автор - gling
Дата добавления - 09.08.2018 в 22:53
Светлый Дата: Суббота, 11.08.2018, 16:56 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 564
Репутация: 132 ±
Замечаний: 0% ±

Excel 2007
Некоторые формулы не будут работать, если количество и имена покупателей для разных товаров будет разное.
Эта (массивная) формула работает:
Код
=ИНДЕКС(8:17;ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;СМЕЩ(A7;;ПОИСКПОЗ(B2;B6:K6;);;ЕСЛИОШИБКА(ПОИСКПОЗ(0=0;СМЕЩ(A6:K6;;ПОИСКПОЗ(B2;6:6;))>"";);99));)+ПОИСКПОЗ(B2;6:6;)-1)

Код
=СУММ((A8:A17=B1)*СМЕЩ(A8:A17;;ПОИСКПОЗ(B3;СМЕЩ(A7;;ПОИСКПОЗ(B2;B6:K6;);;ЕСЛИОШИБКА(ПОИСКПОЗ(0=0;СМЕЩ(A6:K6;;ПОИСКПОЗ(B2;6:6;))>"";);99));)+ПОИСКПОЗ(B2;6:6;)-2))

Код
=СМЕЩ(A7;ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;СМЕЩ(A7;;ПОИСКПОЗ(B2;B6:K6;);;ЕСЛИОШИБКА(ПОИСКПОЗ(0=0;СМЕЩ(A6:K6;;ПОИСКПОЗ(B2;6:6;))>"";);99));)+ПОИСКПОЗ(B2;6:6;)-2)


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Суббота, 11.08.2018, 18:26
 
Ответить
СообщениеНекоторые формулы не будут работать, если количество и имена покупателей для разных товаров будет разное.
Эта (массивная) формула работает:
Код
=ИНДЕКС(8:17;ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;СМЕЩ(A7;;ПОИСКПОЗ(B2;B6:K6;);;ЕСЛИОШИБКА(ПОИСКПОЗ(0=0;СМЕЩ(A6:K6;;ПОИСКПОЗ(B2;6:6;))>"";);99));)+ПОИСКПОЗ(B2;6:6;)-1)

Код
=СУММ((A8:A17=B1)*СМЕЩ(A8:A17;;ПОИСКПОЗ(B3;СМЕЩ(A7;;ПОИСКПОЗ(B2;B6:K6;);;ЕСЛИОШИБКА(ПОИСКПОЗ(0=0;СМЕЩ(A6:K6;;ПОИСКПОЗ(B2;6:6;))>"";);99));)+ПОИСКПОЗ(B2;6:6;)-2))

Код
=СМЕЩ(A7;ПОИСКПОЗ(B1;A8:A17;);ПОИСКПОЗ(B3;СМЕЩ(A7;;ПОИСКПОЗ(B2;B6:K6;);;ЕСЛИОШИБКА(ПОИСКПОЗ(0=0;СМЕЩ(A6:K6;;ПОИСКПОЗ(B2;6:6;))>"";);99));)+ПОИСКПОЗ(B2;6:6;)-2)

Автор - Светлый
Дата добавления - 11.08.2018 в 16:56
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поиск значения в массиве (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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