Страницы: 1
RSS
Подтягивание к идентификатору значений с другого листа с подменой данных
 
Добрый день, уважаемые форумчане.
Столкнулся со следующей проблемой подтягивания данных с другого листа:
Имеется лист с огромным количеством строк с данными (в примере лист называется План закупки).
В каждой строке есть уникальный номер-идентификатор строки (в примере колонка F "№ позиции плана")
По этому идентификатору я на другом листе (в примере лист ЗАКУПКИ) в общую табличку стягиваю некоторые данные по формуле:
Код
 =ЕСЛИ(ЕПУСТО(ЕСЛИОШИБКА(ИНДЕКС('План закупки'!$A$24:$AT$27;ПОИСКПОЗ(ЗАКУПКИ!$B5;'План закупки'!$F$24:$F$27;0);15);""));"";ЕСЛИОШИБКА(ИНДЕКС('План закупки'!$A$24:$AT$27;ПОИСКПОЗ(ЗАКУПКИ!$B5;'План закупки'!$F$24:$F$27;0);15);""))

Всё отлично ищется и находится, но на исходном листе данных (План закупки) есть колонка О с регионами вида:
Москва
Московская область
Калуга
Калуга
Калужская область
и т.д. (областной город и область забиты отдельно)

В сводном листе (ЗАКУПКИ) мне не нужна разбивка на город-область, а необходимо, чтобы указывался только областной город (Москва, Калуга, Киров и т.д.)
То есть мне нужно, чтобы при обращении вышеуказанной формулой к строке с регионом Московская область, мне был выдан ответ Москва.
Переделывать данные в исходном листе не вариант, так как данные постоянно обновляются из внешнего источника.

Подозреваю, что решение где то рядом, но после праздников сообразить никак не могу...
Помогите, пожалуйста!
Краткий пример с удаленными личными данными во вложении.
 
почему в названии темы, вместо крайних справа трех слов, все семь слов
кстати из перечисленных пяти функций в названии темы, возможно, есть нужная вам
Изменено: artyrH - 09.01.2019 16:49:57
 
Цитата
artyrH написал:
почему в названии темы, вместо крайних справа трех слов, все семь словкстати из перечисленных четырех функций в названии темы есть нужная вам
А что с темой не так? Я указал функции, которые я использую и которые могут вытянуть нужные данные.
Буду признателен, если вы поможете правильно составить формулу. Не могу сообразить.
 
Вероятно можно накрутить сложную формулу, но КМК в данном случае правильно (и наглядно!) будет сделать доп. столбец с необходимыми заменами
Москва => Москва;
МО => Москва;
Можно "спрятать" его справа от таблицы; либо же через подстановку (Ctrl+F) просто заменить прямо в столбце O все ненужные области их столицами (если они не требуются для другого)
 
Цитата
Александр Иванов написал:
Переделывать данные в исходном листе не вариант, так как данные постоянно обновляются из внешнего источника
Чревато. Из "внешнего источника" может появиться к примеру "МоСкоВская Область" или "Московскаяобласть" - и причем строках так (к примеру) в пятистах, и что в результате Вы будете считать?. Так что очень даже вариант - либо наладить взаимодействие с внешним источником, либо (если это взаимодействие невозможно) - предусмотреть все возможные возникающие косяки, и предпринять меры для их избавления, что бы в конечном итоге расчеты выдавали правильные результаты.  
 
Цитата
IKor написал:
Вероятно можно накрутить сложную формулу, но КМК в данном случае правильно (и наглядно!) будет сделать доп. столбец с необходимыми заменами Москва => Москва;МО => Москва;Можно "спрятать" его справа от таблицы;
Вот это то я и не могу сообразить как сделать. Пытаться через ЕСЛИ - не получается, слишком много значений.
Цитата
IKor написал:
либо же через подстановку (Ctrl+F) просто заменить прямо в столбце O все ненужные области их столицами (если они не требуются для другого)
Они не требуются для другого, но эти данные - эталон, взятые из другого источника и их менять нельзя.
Цитата
_Igor_61 написал:
может появиться к примеру "МоСкоВская Область" или "Московскаяобласть"
Исключено, так как туда данные попадают исключительно через формы, просто их так выбирают, то город, то область...
 
Цитата
Александр Иванов написал:
Вот это то я и не могу сообразить как сделать.
Цитата
Александр Иванов написал:
В сводном листе (ЗАКУПКИ) мне не нужна разбивка на город-область, а необходимо, чтобы указывался только областной город (Москва, Калуга, Киров и т.д.)

На отдельном листе книги можно создать таблицу замен вида: "МО => Москва" и пополнять ее по мере необходимости,
А в формуле для доп. столбца использовать конструкцию вида ЕСЛИОШИБКА(ВПР(ячейка_столбца_О;таблица_замен;2;0);ячейка_столбца_О)

Однако Вам самому придется определиться с теми "областями", от которых Вы хотите "избавиться".

===================UPDATE=====================
Для большего соответствия с названием темы используйте конструкцию вида:
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(ячейка_столбца_О;ИНДЕКС(Таблица_замен;0;1);0));ячейка_столбца_О;ИНДЕКС(Таблица_замен;ПОИСКПОЗ(...);2))
Изменено: IKor - 10.01.2019 14:54:11
 
Цитата
IKor написал:
Для большего соответствия с названием темы
вроде присутствует и Подставить
Изменено: artyrH - 10.01.2019 14:54:14
 
Цитата
Александр Иванов написал:  указал функции, которые я использую
... и этим ограичили помощь. Получается, что Вы хотите видеть решение только с этими функциям.
Если это не так, предложите название темы, отражающее суть задачи, а не путь решения (возможно, неправильный, тупиковый, неоптимальный). Модераторы заменят. Этим поможете и себе, и будущим посетителям.
 
Цитата
vikttur написал:
Получается, что Вы хотите видеть решение только с этими функциям
Неправильно получается. Я жду любой помощи в решении данной задачи...
Если Вы можете - исправьте пожалуйста название темы, например на "Замена одного значения другим"
Я не знаю, как точнее описать данную задачу.
Изменено: Александр Иванов - 10.01.2019 12:17:45
 
Александр Иванов, составе список где будет областной центр и рядом с ним все города которые входят и поселе уже подтягивайте
типо

Ногинск Московская область
Одинцово Московская область и тд. и\
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Александр Иванов написал:
Замена одного значения другим
И сразу понятна проблема?
 
Цитата
Юрий М написал:
И сразу понятна проблема?
Мне кажется, что Вы придираетесь.
Я же написал, что не знаю, как более точно описать проблему тремя-четырьмя словами, чтобы изложить ее в теме.
Я указал тему на мой взгляд близкую к моей проблеме.
Может Вас устроит, например, такое название темы "Подтягивание значений с другого листа с подменой данных" ?
Я всегда считал это сообщество самым дружелюбным и отзывчивым. И я сам с уважением отношусь ко всем форумчанам.
Не разрушайте во мне веру в вас :) Я и так стараюсь максимально подробно расписывать проблему с обязательным приложением примера по правилам форума.

Mershik, спасибо, я пытаюсь так сделать. Но проблема в том, что я ввожу на сводном листе только идентификатор и у меня в таблицу подтягивается множество данных из этой строки и в одну из ячеек мне подтянется ячейка с текстом "Кемеровская область".
Допустим я сделаю на отдельном листе список соответствий и как мне соотнести значение именно в этой ячейке вместо "Кемеровская область" со значением "Кемерово" я не понимаю. Сможете показать на моем примере вашу реализацию? Буду признателен.
 
Не разрушайте и Вы веру в посетителя :)
Тема может помочь не только Вам. Но если будет нормально озаглавлена.
Вы не знаете, как назвать... Но кто лучше Вас может знать, что нужно Вам? Своими словами, без использования заумных спецслов и функций, нчтобы человек прочитал и понял, нужно ли ему времятратить на посещение темы.
Модераторы пусть помогут? Так это же нужно прочитать  задачу, вникнуть... Время!
 
Александр Иванов, здесь модераторы нужны что бы был порядок, и нормально названые темы помогут будущим Форумчанам найти именно то что им нужно быстро и оперативно.. ИМХО

добавлен лист перечень.
Изменено: Mershik - 10.01.2019 15:25:17
Не бойтесь совершенства. Вам его не достичь.
 
vikttur, спасибо за изменение темы!

Цитата
Mershik написал:
добавлен лист перечень.
То, что нужно! Благодарю Вас!

Извиняюсь, если кого обидел.
Всех с праздниками! Успехов и процветания этому форуму!
 
Исключительно из любви к искусству: предлагаю чуть более короткую формулу:
Код
=ЕСЛИОШИБКА(ВПР(ИНДЕКС('План закупки'!$O$25:$O$27;ПОИСКПОЗ($B5;'План закупки'!$F$25:$F$27;0));'перечень '!$A$2:$B$86;2;0);ЕСЛИОШИБКА(ИНДЕКС('План закупки'!$O$25:$O$27;ПОИСКПОЗ($B5;'План закупки'!$F$25:$F$27;0));""))
Страницы: 1
Наверх