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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Подстановка значения при совпадении элементов (Формулы/Formulas)
Подстановка значения при совпадении элементов
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
Группа: Друзья
Ранг: Экселист
Сообщений: 8704
Репутация: 2258 ±
Замечаний: 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
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

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
формула массива
[Перевод / Translate]
=ВПР(--ЛЕВБ(B19;МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(--ЛЕВБ(B19;СТРОКА($1:$15));D$3:D$6;));СТРОКА($1:$15))));D$3:E$6;2;)

Спасибо, формула работает. Пытался разобраться с тем, как она работает, но особо не получилось (скажем так, слишком сложно для меня уже). Каким образом можно научиться писать такие вот сложные формулы и понимать, что они делают? Понимаю, что "Книга по Excel" - самый разумный ответ, но хотелось бы именно на практике натренировать возможность составления таких сложных формул.
 
Ответить
Сообщение
формула массива
[Перевод / 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
Понимаю, что "Книга по Excel"
Не угадали. Самый разумный ответ — практика и встроенная справка :)


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

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

Excel 2007
Не угадали. Самый разумный ответ — практика и встроенная справка

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

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

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

Excel 2010
тупик и путь на форумы
Это как раз не тупик, если искать свои решения и разбирать чужие.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщение
тупик и путь на форумы
Это как раз не тупик, если искать свои решения и разбирать чужие.

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

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