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

 

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

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Подстановка значения при совпадении элементов
VadimVV Дата: Четверг, 06.09.2018, 19:06 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Добрый день.

Есть такая задача: есть таблица с кодами и ценами. Коды могут иметь любое кол-во знаков. Есть ещё одна таблица с кодами, где коды тоже могут иметь любое количество знаков. Необходимо сравнить коды из двух таблиц и подставить соответствующее значение цены из таблицы. Но поскольку коды не совпадают по количеству знаков, то необходимо взять код из первой таблицы, отбросить правый символ, проверить на совпадение кода из второй таблицы. И так до тех пор, пока не совпадет.

Т.е., иными словами, надо из первой таблицы отбрасывать по символу, пока значение ячейки из первой таблицы не сравняется с каким-нибудь значением масива кодов из второй таблички. При совпадении подставить соответствующую цену

Пример прилагаю.
К сообщению приложен файл: 1612449.xlsx (9.6 Kb)
 
Ответить
СообщениеДобрый день.

Есть такая задача: есть таблица с кодами и ценами. Коды могут иметь любое кол-во знаков. Есть ещё одна таблица с кодами, где коды тоже могут иметь любое количество знаков. Необходимо сравнить коды из двух таблиц и подставить соответствующее значение цены из таблицы. Но поскольку коды не совпадают по количеству знаков, то необходимо взять код из первой таблицы, отбросить правый символ, проверить на совпадение кода из второй таблицы. И так до тех пор, пока не совпадет.

Т.е., иными словами, надо из первой таблицы отбрасывать по символу, пока значение ячейки из первой таблицы не сравняется с каким-нибудь значением масива кодов из второй таблички. При совпадении подставить соответствующую цену

Пример прилагаю.

Автор - VadimVV
Дата добавления - 06.09.2018 в 19:06
Nic70y Дата: Четверг, 06.09.2018, 19:21 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
формула массива
=ВПР(--ЛЕВБ(B19;МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(--ЛЕВБ(B19;СТРОКА($1:$15));D$3:D$6;));СТРОКА($1:$15))));D$3:E$6;2;)
К сообщению приложен файл: 5642081.xlsx (10.0 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениеформула массива
=ВПР(--ЛЕВБ(B19;МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(--ЛЕВБ(B19;СТРОКА($1:$15));D$3:D$6;));СТРОКА($1:$15))));D$3:E$6;2;)

Автор - Nic70y
Дата добавления - 06.09.2018 в 19:21
_Boroda_ Дата: Четверг, 06.09.2018, 19:48 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация: 6613 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Если не будет кодов с одинаковым началом и расположенных сверху вниз (вот так: 62479, 6247, 624), то можно так
=ПРОСМОТР(;-ПОИСК(D$3:D$6;B19);E$3:E$6)

Если такие могут быть, то формула массива (вводится одновременным нажатием Контрл Шифт Ентер)
=ВПР(МАКС((ЕСЛИОШИБКА(ПОИСК(D$3:D$8;B19);)=1)*D$3:D$8);D$3:E$8;2;)
К сообщению приложен файл: 1612449_1.xlsx (10.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли не будет кодов с одинаковым началом и расположенных сверху вниз (вот так: 62479, 6247, 624), то можно так
=ПРОСМОТР(;-ПОИСК(D$3:D$6;B19);E$3:E$6)

Если такие могут быть, то формула массива (вводится одновременным нажатием Контрл Шифт Ентер)
=ВПР(МАКС((ЕСЛИОШИБКА(ПОИСК(D$3:D$8;B19);)=1)*D$3:D$8);D$3:E$8;2;)

Автор - _Boroda_
Дата добавления - 06.09.2018 в 19:48
VadimVV Дата: Понедельник, 10.09.2018, 13:45 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Цитата Nic70y, 06.09.2018 в 19:21, в сообщении № 2 ( писал(а)):
формула массива
[Перевод / Translate]
=ВПР(--ЛЕВБ(B19;МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(--ЛЕВБ(B19;СТРОКА($1:$15));D$3:D$6;));СТРОКА($1:$15))));D$3:E$6;2;)

Спасибо, формула работает. Пытался разобраться с тем, как она работает, но особо не получилось (скажем так, слишком сложно для меня уже). Каким образом можно научиться писать такие вот сложные формулы и понимать, что они делают? Понимаю, что "Книга по Excel" - самый разумный ответ, но хотелось бы именно на практике натренировать возможность составления таких сложных формул.
 
Ответить
Сообщение
Цитата Nic70y, 06.09.2018 в 19:21, в сообщении № 2 ( писал(а)):
формула массива
[Перевод / Translate]
=ВПР(--ЛЕВБ(B19;МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(--ЛЕВБ(B19;СТРОКА($1:$15));D$3:D$6;));СТРОКА($1:$15))));D$3:E$6;2;)

Спасибо, формула работает. Пытался разобраться с тем, как она работает, но особо не получилось (скажем так, слишком сложно для меня уже). Каким образом можно научиться писать такие вот сложные формулы и понимать, что они делают? Понимаю, что "Книга по Excel" - самый разумный ответ, но хотелось бы именно на практике натренировать возможность составления таких сложных формул.

Автор - VadimVV
Дата добавления - 10.09.2018 в 13:45
StoTisteg Дата: Понедельник, 10.09.2018, 14:01 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Цитата VadimVV, 10.09.2018 в 13:45, в сообщении № 4 ( писал(а)):
Понимаю, что "Книга по Excel"
Не угадали. Самый разумный ответ — практика и встроенная справка :)


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщение
Цитата VadimVV, 10.09.2018 в 13:45, в сообщении № 4 ( писал(а)):
Понимаю, что "Книга по Excel"
Не угадали. Самый разумный ответ — практика и встроенная справка :)

Автор - StoTisteg
Дата добавления - 10.09.2018 в 14:01
VadimVV Дата: Понедельник, 10.09.2018, 14:35 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 82
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Цитата StoTisteg, 10.09.2018 в 14:01, в сообщении № 5 ( писал(а)):
Не угадали. Самый разумный ответ — практика и встроенная справка

Ну вот практикой и поисковиком я сам пытался формулу построить. У меня, если честно, не особо получилось, хотя с экселем работаю постоянно (конечно, не в таких объемах и не с такими сложными для меня формулами).
Через такие запросы на форуме можно на практике учиться, но мне бы в голову никогда не пришло использовать в этой формуле МАКС, ЛЕВБ и -- (со СТРОКА и ПОИСКПОЗ я догадался. Для опытного пользователя следующий шаг - усложнение формулы, для меня - тупик и путь на форумы).
 
Ответить
Сообщение
Цитата StoTisteg, 10.09.2018 в 14:01, в сообщении № 5 ( писал(а)):
Не угадали. Самый разумный ответ — практика и встроенная справка

Ну вот практикой и поисковиком я сам пытался формулу построить. У меня, если честно, не особо получилось, хотя с экселем работаю постоянно (конечно, не в таких объемах и не с такими сложными для меня формулами).
Через такие запросы на форуме можно на практике учиться, но мне бы в голову никогда не пришло использовать в этой формуле МАКС, ЛЕВБ и -- (со СТРОКА и ПОИСКПОЗ я догадался. Для опытного пользователя следующий шаг - усложнение формулы, для меня - тупик и путь на форумы).

Автор - VadimVV
Дата добавления - 10.09.2018 в 14:35
StoTisteg Дата: Понедельник, 10.09.2018, 14:37 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Цитата VadimVV, 10.09.2018 в 14:35, в сообщении № 6 ( писал(а)):
тупик и путь на форумы
Это как раз не тупик, если искать свои решения и разбирать чужие.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщение
Цитата VadimVV, 10.09.2018 в 14:35, в сообщении № 6 ( писал(а)):
тупик и путь на форумы
Это как раз не тупик, если искать свои решения и разбирать чужие.

Автор - StoTisteg
Дата добавления - 10.09.2018 в 14:37
  • Страница 1 из 1
  • 1
Поиск:

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