Поиск значения в массиве
NiZiM
Дата: Четверг, 09.08.2018, 16:28 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Ребята, нужна помощь. Сам пока не могу разобраться. Суть. Есть таблица строгой формы (формат таблицы менять нельзя в силу ряда причин). Таблица определяет стоимость транспортировки товара исходя из 3-х параметров: элеватор погрузки, тип товара и пункта выгрузки (покупателя). Что необходимо - возвращать в ячейку значение этой стоимости после выбора из списка данных параметров. Яснее суть вопроса в прикрепленном файле. Помогите, плз, с советом! Заранее благодарен!
Ребята, нужна помощь. Сам пока не могу разобраться. Суть. Есть таблица строгой формы (формат таблицы менять нельзя в силу ряда причин). Таблица определяет стоимость транспортировки товара исходя из 3-х параметров: элеватор погрузки, тип товара и пункта выгрузки (покупателя). Что необходимо - возвращать в ячейку значение этой стоимости после выбора из списка данных параметров. Яснее суть вопроса в прикрепленном файле. Помогите, плз, с советом! Заранее благодарен! NiZiM
Ответить
Сообщение Ребята, нужна помощь. Сам пока не могу разобраться. Суть. Есть таблица строгой формы (формат таблицы менять нельзя в силу ряда причин). Таблица определяет стоимость транспортировки товара исходя из 3-х параметров: элеватор погрузки, тип товара и пункта выгрузки (покупателя). Что необходимо - возвращать в ячейку значение этой стоимости после выбора из списка данных параметров. Яснее суть вопроса в прикрепленном файле. Помогите, плз, с советом! Заранее благодарен! Автор - NiZiM Дата добавления - 09.08.2018 в 16:28
sboy
Дата: Четверг, 09.08.2018, 16:45 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
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)))
Добрый день. такой вариантКод
=ИНДЕКС(ИНДЕКС(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
Яндекс: 410016850021169
Ответить
Сообщение Добрый день. такой вариантКод
=ИНДЕКС(ИНДЕКС(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
Группа: Друзья
Ранг: Старожил
Сообщений: 1394
Репутация:
320
±
Замечаний:
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))
без разницы
Чуть короче:Код
=СУММПРОИЗВ((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
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
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Спасибо Вам огромное!!! Все работает. Значит эта та функция, что нужна. Буду переносить её на свой рабочий вариант! Еще раз спасибо!:)
Спасибо Вам огромное!!! Все работает. Значит эта та функция, что нужна. Буду переносить её на свой рабочий вариант! Еще раз спасибо!:) NiZiM
Ответить
Сообщение Спасибо Вам огромное!!! Все работает. Значит эта та функция, что нужна. Буду переносить её на свой рабочий вариант! Еще раз спасибо!:) Автор - NiZiM Дата добавления - 09.08.2018 в 17:03
lebensvoll
Дата: Четверг, 09.08.2018, 17:07 |
Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация:
30
±
Замечаний:
0% ±
Excel 2010
NiZiM, я пока что только так вот смог на скорую НО как их во едино завязать не сооброжу А уже другие все сообразили )))
NiZiM, я пока что только так вот смог на скорую НО как их во едино завязать не сооброжу А уже другие все сообразили ))) lebensvoll
Кто бы ты ни был, мир в твоих руках
Сообщение отредактировал lebensvoll - Четверг, 09.08.2018, 17:08
Ответить
Сообщение NiZiM, я пока что только так вот смог на скорую НО как их во едино завязать не сооброжу А уже другие все сообразили ))) Автор - lebensvoll Дата добавления - 09.08.2018 в 17:07
NiZiM
Дата: Четверг, 09.08.2018, 17:23 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Еще раз всем спасибо!!!))) Хорошего дня!
Еще раз всем спасибо!!!))) Хорошего дня! NiZiM
Ответить
Сообщение Еще раз всем спасибо!!!))) Хорошего дня! Автор - NiZiM Дата добавления - 09.08.2018 в 17:23
sboy
Дата: Четверг, 09.08.2018, 17:24 |
Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
[offtop] но тормознутей на больших объемах данных
[offtop] но тормознутей на больших объемах данных sboy
Яндекс: 410016850021169
Ответить
Сообщение [offtop] но тормознутей на больших объемах данных Автор - sboy Дата добавления - 09.08.2018 в 17:24
krosav4ig
Дата: Четверг, 09.08.2018, 21:12 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
еще вариант Код
=СУММПРОИЗВ((A8:A17=B1)*(ПРОСМОТР(СТОЛБЕЦ(B6:J6);СТОЛБЕЦ(B6:J6)/(B6:J6>"");B6:J6)=B2)*(B7:J7=B3)*B8:J17)
еще вариант Код
=СУММПРОИЗВ((A8:A17=B1)*(ПРОСМОТР(СТОЛБЕЦ(B6:J6);СТОЛБЕЦ(B6:J6)/(B6:J6>"");B6:J6)=B2)*(B7:J7=B3)*B8:J17)
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение еще вариант Код
=СУММПРОИЗВ((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
Группа: Друзья
Ранг: Старожил
Сообщений: 1197
Репутация:
313
±
Замечаний:
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
Ответить
Сообщение Предлагаю такую формулу
Код
=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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация:
674
±
Замечаний:
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))
Еще вариант.Код
=СУММПРОИЗВ(($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
ЯД-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
Группа: Друзья
Ранг: Старожил
Сообщений: 1823
Репутация:
507
±
Замечаний:
0% ±
Excel 2013, 2016
Некоторые формулы не будут работать, если количество и имена покупателей для разных товаров будет разное. Эта (массивная) формула работает:Код
=ИНДЕКС(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)
Некоторые формулы не будут работать, если количество и имена покупателей для разных товаров будет разное. Эта (массивная) формула работает:Код
=ИНДЕКС(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