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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Подставить значения совпавшие по последним символам
Georgy Дата: Среда, 18.09.2013, 16:51 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!

Во второй лист столбец B должны попадать данные ячеек из листа 1 столбца А.
Но хитрость в том, что поиск должен быть по ссылкам по последним символам, которые находятся после последнего символа "=". Такая закономерность по всем ячейкам.

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

Во второй лист столбец B должны попадать данные ячеек из листа 1 столбца А.
Но хитрость в том, что поиск должен быть по ссылкам по последним символам, которые находятся после последнего символа "=". Такая закономерность по всем ячейкам.

Помогите, пожалуйста.

Автор - Georgy
Дата добавления - 18.09.2013 в 16:51
Hugo Дата: Среда, 18.09.2013, 17:36 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3729
Репутация: 795 ±
Замечаний: 0% ±

365
Вероятно можно навернуть сложную формулу, отрезающую только хвост, затем это подставить в виде "*=номер" в ИНДЕКС(ПОИСКПОЗ()).
Но не проще разбить оба диапазона текст_по_столбцам, затем полученный столбец использовать в банальной ВПР()?


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеВероятно можно навернуть сложную формулу, отрезающую только хвост, затем это подставить в виде "*=номер" в ИНДЕКС(ПОИСКПОЗ()).
Но не проще разбить оба диапазона текст_по_столбцам, затем полученный столбец использовать в банальной ВПР()?

Автор - Hugo
Дата добавления - 18.09.2013 в 17:36
Georgy Дата: Среда, 18.09.2013, 18:53 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

А можете показать, как это будет в файле выглядеть? Не понятно, как это реализовать.
 
Ответить
СообщениеА можете показать, как это будет в файле выглядеть? Не понятно, как это реализовать.

Автор - Georgy
Дата добавления - 18.09.2013 в 18:53
Nic70y Дата: Среда, 18.09.2013, 19:06 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9047
Репутация: 2382 ±
Замечаний: 0% ±

Excel 2010
Эх, что-то сомневаюсь я, что на больших объемах потянет, но файл приложу:
(макрос надо :) )
К сообщению приложен файл: 89-23569.xlsx (11.5 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеЭх, что-то сомневаюсь я, что на больших объемах потянет, но файл приложу:
(макрос надо :) )

Автор - Nic70y
Дата добавления - 18.09.2013 в 19:06
Georgy Дата: Среда, 18.09.2013, 20:03 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, Работает, но почему-то не для всех ячеек...хотя совпадения символов после последнего символа "=" есть, почему так может быть?
 
Ответить
СообщениеNic70y, Работает, но почему-то не для всех ячеек...хотя совпадения символов после последнего символа "=" есть, почему так может быть?

Автор - Georgy
Дата добавления - 18.09.2013 в 20:03
Georgy Дата: Среда, 18.09.2013, 20:16 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Вот пример, одна строка работает, а вторая нет.
К сообщению приложен файл: 3183792.xlsx (10.2 Kb)
 
Ответить
СообщениеВот пример, одна строка работает, а вторая нет.

Автор - Georgy
Дата добавления - 18.09.2013 в 20:16
Georgy Дата: Среда, 18.09.2013, 20:43 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Помогите, пожалуйста.
 
Ответить
СообщениеПомогите, пожалуйста.

Автор - Georgy
Дата добавления - 18.09.2013 в 20:43
Nic70y Дата: Среда, 18.09.2013, 21:17 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 9047
Репутация: 2382 ±
Замечаний: 0% ±

Excel 2010
1. Не портите "хорошую" формулу
2. формула массива, вводится одновременным нажатием Ctrl, Shift и Enter
3. строка 99 - это не количество строк, а количиство букв в строке
4. см. файл
К сообщению приложен файл: 800.xlsx (10.7 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение1. Не портите "хорошую" формулу
2. формула массива, вводится одновременным нажатием Ctrl, Shift и Enter
3. строка 99 - это не количество строк, а количиство букв в строке
4. см. файл

Автор - Nic70y
Дата добавления - 18.09.2013 в 21:17
Georgy Дата: Среда, 18.09.2013, 21:27 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 31
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, опс, это я по ошибке не то поменял, спасибо большое, все работает.
 
Ответить
СообщениеNic70y, опс, это я по ошибке не то поменял, спасибо большое, все работает.

Автор - Georgy
Дата добавления - 18.09.2013 в 21:27
Michael_S Дата: Среда, 18.09.2013, 23:35 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
чуть длиннее, но зато не массивная:
Код
=ИНДЕКС(Существующие!$A$2:$A$15;ПОИСКПОЗ("*"&ПРОСМОТР(2;1/ЕОШ(ПОИСК("=";ПРАВСИМВ(B2;СТРОКА($1:$20))));ПРАВСИМВ(B2;СТРОКА($1:$20)));Существующие!$A$2:$A$15;0))


Сообщение отредактировал Michael_S - Среда, 18.09.2013, 23:37
 
Ответить
Сообщениечуть длиннее, но зато не массивная:
Код
=ИНДЕКС(Существующие!$A$2:$A$15;ПОИСКПОЗ("*"&ПРОСМОТР(2;1/ЕОШ(ПОИСК("=";ПРАВСИМВ(B2;СТРОКА($1:$20))));ПРАВСИМВ(B2;СТРОКА($1:$20)));Существующие!$A$2:$A$15;0))

Автор - Michael_S
Дата добавления - 18.09.2013 в 23:35
Nic70y Дата: Четверг, 19.09.2013, 08:19 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 9047
Репутация: 2382 ±
Замечаний: 0% ±

Excel 2010
да, действительно, можно без массивной, вот привычка дурная людей пугать формулами массива :(
Код
=ИНДЕКС(Заиндексированные!A$2:A$10000;ПОИСКПОЗ("*"&ПСТР(A2;ПОИСК(" ";ПОДСТАВИТЬ(A2;"=";" ";ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"=";""))))+1;99);Заиндексированные!B$2:B$10000;0))


ЮMoney 41001841029809
 
Ответить
Сообщениеда, действительно, можно без массивной, вот привычка дурная людей пугать формулами массива :(
Код
=ИНДЕКС(Заиндексированные!A$2:A$10000;ПОИСКПОЗ("*"&ПСТР(A2;ПОИСК(" ";ПОДСТАВИТЬ(A2;"=";" ";ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"=";""))))+1;99);Заиндексированные!B$2:B$10000;0))

Автор - Nic70y
Дата добавления - 19.09.2013 в 08:19
Hugo Дата: Четверг, 19.09.2013, 09:16 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3729
Репутация: 795 ±
Замечаний: 0% ±

365
Что-то проглядел вопрос...
Описываю процесс вручную - на копии столбца (или не на копии, если оригинал не нужен) - выделяете столбец, идёте в Данные->Текст по столбцам - разбиваете по "=" - получаете 5 столбцов, последний с этими номерами. Так делаете на обоих листах.
Теперь используете эти столбцы - для ВПР() на первом листе переносите его в начало, для ИНДЕКС(ПОИСКПОЗ()). можно пользовать как есть.
Думаю это будет быстрее во всех смыслах, чем массивные длинные формулы выше.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЧто-то проглядел вопрос...
Описываю процесс вручную - на копии столбца (или не на копии, если оригинал не нужен) - выделяете столбец, идёте в Данные->Текст по столбцам - разбиваете по "=" - получаете 5 столбцов, последний с этими номерами. Так делаете на обоих листах.
Теперь используете эти столбцы - для ВПР() на первом листе переносите его в начало, для ИНДЕКС(ПОИСКПОЗ()). можно пользовать как есть.
Думаю это будет быстрее во всех смыслах, чем массивные длинные формулы выше.

Автор - Hugo
Дата добавления - 19.09.2013 в 09:16
_Boroda_ Дата: Четверг, 19.09.2013, 09:53 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16787
Репутация: 6557 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Судя по тому, что Вы ищете данные в определенном каталоге, количество знаков "равно" должно быть одинаковым. Если это так и есть, то формулу можно переписать так
Код
=ИНДЕКС(Заиндексированные!A$2:A$9999;ПОИСКПОЗ("*"&ПСТР(A2;ПОИСК(A2;ПОДСТАВИТЬ(A2;"=";A2;4));9);Заиндексированные!B$2:B$9999;0))


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСудя по тому, что Вы ищете данные в определенном каталоге, количество знаков "равно" должно быть одинаковым. Если это так и есть, то формулу можно переписать так
Код
=ИНДЕКС(Заиндексированные!A$2:A$9999;ПОИСКПОЗ("*"&ПСТР(A2;ПОИСК(A2;ПОДСТАВИТЬ(A2;"=";A2;4));9);Заиндексированные!B$2:B$9999;0))

Автор - _Boroda_
Дата добавления - 19.09.2013 в 09:53
  • Страница 1 из 1
  • 1
Поиск:

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