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

Вход

Регистрация

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

 

= Мир MS Excel/Подстановка по неполному соответствию текста вGoogle Sheets - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Подстановка по неполному соответствию текста вGoogle Sheets (Формулы/Formulas)
Подстановка по неполному соответствию текста вGoogle Sheets
Ежак Дата: Пятница, 22.07.2022, 11:04 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Доброго дня!
Столкнулся с проблемой в Google Sheets
Есть лист прайсом с тремя типами цен за м2, например
У О Р
6 СПК Бронза 5 7 9
4 МПК Зеленый 6 8 11

а на лист расчета стоимости попадает номенклатура с размерами

6 СПК Бронза 2х6
4 МПК Зеленый 4х8 БРАК

Сейчас решил вопрос подтягивание цены в зависимости от ее вида формулой

Код
=ЕСЛИ(K3="О";ИНДЕКС('Прайс'!$I:$I;ПОИСКПОЗ("*"&ПСТР(C3;1; ДЛСТР(C3)-11)&"*";'Прайс'!$F:$F;0));ЕСЛИ(K3="У";ИНДЕКС('Прайс'!$H:$H;ПОИСКПОЗ("*"&ПСТР(C3;1; ДЛСТР(C3)-11)&"*";'Прайс'!$F:$F;0));ЕСЛИ(K3="Р";ИНДЕКС('Прайс'!$J:$J;ПОИСКПОЗ("*"&ПСТР(C3;1; ДЛСТР(C3)-11)&"*";'Прайс'!$F:$F;0));0)))


Но это костыли, потому что количество символов, которые надо в итоге убрать не фиксировано, и в половине случаев надо его править в ручную (бывают такие позиции, что и по 20 символов).
При этом отличие номенклатуры от прайсовых позиций начинаются именно с первой цифры.

Может кто то подскажет более оптимальное решение.
Благодарствую.


Сообщение отредактировал Ежак - Пятница, 22.07.2022, 11:05
 
Ответить
СообщениеДоброго дня!
Столкнулся с проблемой в Google Sheets
Есть лист прайсом с тремя типами цен за м2, например
У О Р
6 СПК Бронза 5 7 9
4 МПК Зеленый 6 8 11

а на лист расчета стоимости попадает номенклатура с размерами

6 СПК Бронза 2х6
4 МПК Зеленый 4х8 БРАК

Сейчас решил вопрос подтягивание цены в зависимости от ее вида формулой

Код
=ЕСЛИ(K3="О";ИНДЕКС('Прайс'!$I:$I;ПОИСКПОЗ("*"&ПСТР(C3;1; ДЛСТР(C3)-11)&"*";'Прайс'!$F:$F;0));ЕСЛИ(K3="У";ИНДЕКС('Прайс'!$H:$H;ПОИСКПОЗ("*"&ПСТР(C3;1; ДЛСТР(C3)-11)&"*";'Прайс'!$F:$F;0));ЕСЛИ(K3="Р";ИНДЕКС('Прайс'!$J:$J;ПОИСКПОЗ("*"&ПСТР(C3;1; ДЛСТР(C3)-11)&"*";'Прайс'!$F:$F;0));0)))


Но это костыли, потому что количество символов, которые надо в итоге убрать не фиксировано, и в половине случаев надо его править в ручную (бывают такие позиции, что и по 20 символов).
При этом отличие номенклатуры от прайсовых позиций начинаются именно с первой цифры.

Может кто то подскажет более оптимальное решение.
Благодарствую.

Автор - Ежак
Дата добавления - 22.07.2022 в 11:04
Gustav Дата: Пятница, 22.07.2022, 11:46 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Добрый день! Нужен пример - или расшарьте саму таблицу Гугл, хотя бы на просмотр, или скопируйте в Excel и выложите файл. А то на чём помогающему играться?


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеДобрый день! Нужен пример - или расшарьте саму таблицу Гугл, хотя бы на просмотр, или скопируйте в Excel и выложите файл. А то на чём помогающему играться?

Автор - Gustav
Дата добавления - 22.07.2022 в 11:46
Ежак Дата: Пятница, 22.07.2022, 14:12 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

 
Ответить
СообщениеДа, конечно)
https://docs.google.com/spreads....sd=true

Автор - Ежак
Дата добавления - 22.07.2022 в 14:12
Gustav Дата: Пятница, 22.07.2022, 17:11 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
У меня для ячейки L3 листа "Продажи" такая формула получилась:
[vba]
Код
=VLOOKUP(JOIN(" ";ARRAY_CONSTRAIN(SPLIT(C3;" ");1;5)); 'Прайс'!F:J; MATCH(K3;'Прайс'!$F$1:$J$1;0); 0)
[/vba]
Не знаю, насколько Вам станет легче, но, вроде, покороче Вашей и даже что-то считает...


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеУ меня для ячейки L3 листа "Продажи" такая формула получилась:
[vba]
Код
=VLOOKUP(JOIN(" ";ARRAY_CONSTRAIN(SPLIT(C3;" ");1;5)); 'Прайс'!F:J; MATCH(K3;'Прайс'!$F$1:$J$1;0); 0)
[/vba]
Не знаю, насколько Вам станет легче, но, вроде, покороче Вашей и даже что-то считает...

Автор - Gustav
Дата добавления - 22.07.2022 в 17:11
Ежак Дата: Понедельник, 25.07.2022, 14:14 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Gustav, огромное благодарствую!!!! Только при добавлении новых позиций в прайс, их не видит формула(
 
Ответить
СообщениеGustav, огромное благодарствую!!!! Только при добавлении новых позиций в прайс, их не видит формула(

Автор - Ежак
Дата добавления - 25.07.2022 в 14:14
Gustav Дата: Понедельник, 25.07.2022, 17:28 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
не видит формула

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

Так можно добавить 3-й и 4-й параметры в функцию SPLIT:
[vba]
Код
=VLOOKUP(JOIN(" ";ARRAY_CONSTRAIN(SPLIT(C3;" ";0;0);1;5)); 'Прайс'!F:J; MATCH(K3;'Прайс'!$F$1:$J$1;0); 0)
[/vba]
Или можно поиграть в почти настоящий частичный поиск со звездочками - внутри и вокруг JOIN:
[vba]
Код
=VLOOKUP("*"&JOIN("*";ARRAY_CONSTRAIN(SPLIT(C3;" ");1;5))&"*"; 'Прайс'!F:J; MATCH(K3;'Прайс'!$F$1:$J$1;0); 0)
[/vba]
Все формулы - для ячейки L3 листа "Продажи".


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
не видит формула

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

Так можно добавить 3-й и 4-й параметры в функцию SPLIT:
[vba]
Код
=VLOOKUP(JOIN(" ";ARRAY_CONSTRAIN(SPLIT(C3;" ";0;0);1;5)); 'Прайс'!F:J; MATCH(K3;'Прайс'!$F$1:$J$1;0); 0)
[/vba]
Или можно поиграть в почти настоящий частичный поиск со звездочками - внутри и вокруг JOIN:
[vba]
Код
=VLOOKUP("*"&JOIN("*";ARRAY_CONSTRAIN(SPLIT(C3;" ");1;5))&"*"; 'Прайс'!F:J; MATCH(K3;'Прайс'!$F$1:$J$1;0); 0)
[/vba]
Все формулы - для ячейки L3 листа "Продажи".

Автор - Gustav
Дата добавления - 25.07.2022 в 17:28
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Подстановка по неполному соответствию текста вGoogle Sheets (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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