Страницы: 1
RSS
Поиск значения, соответствующего тексту из первой таблицы, который в другой таблице написан без слэшей
 

Здравствуйте.

Что-то у меня  возник затык в плане понимания функции ДВССЫЛ() и/или ПОИСКПОЗ(), даже хелп не помог.

Прошу помощи сообщества.

Итак, даны два листа. На Лист1 есть список из двух колонок: «Название акции” и “количество акций”. Каждая акция имеет название по типу: Отстой/Днище/Показуха. Количество слов и слешей в названии разное может быть и два и пять слов.

На Листе2 есть столбец-список тех же акций (расположенных в произвольном порядке), а их названия взяты из Листа1, но из них удалены все знаки “/”. То есть на Листе1 допустим было Отстой/Днище/Показуха, а на Листе2 стало ОтстойДнищеПоказуха.

Всё организованы конечно тупо, но это не я так придумал.

Мне надо из списка на Листе1 подтянуть количество акций в список на Листе2. Я пытался решить эту задачу при помощи ПОИСКПОЗ и ДВССЫЛ.

Формула (введённая в столбце В на Лист2) :

ДВССЫЛ("Лист1!R"&(ПОИСКПОЗ($A$1:$A$6; ПОДСТАВИТЬ(Лист1!$A$4:$A$9;"/";"");0)+3)&"C2";0)

введёная в виде массива дала ошибку #ЗНАЧ

НО если в столбце C на Лист2 ввести

ПОИСКПОЗ($A$1:$A$6; ПОДСТАВИТЬ(Лист1!$A$4:$A$9;"/";""); 0)

А затем в столбце D ввести ДВССЫЛ("Лист1!R"&(C1+3)&"C2";0)

То я получу нужные мне значения.

Собственно говоря у меня 2 вопроса:

-Что я сделал не так с ДВССЫЛ?

-можно ли эту задачу решить как-нибудь более изящно?

 
Я вижу такое решение.
Копируем столбец со слешами куда нибудь про запас :)
На каждом листе присваиваем строкам порядковые номера, сортируем строки в каждом листе по столбцу с названием в алфавитном порядке,
Удаляем слэши.
В итоге получаем на каждом листе два одинаковых столбца с названиями.
Копируем столбец с количеством с первого листа на второй.
Сортируем строки на каждом листе по порядковому номеру.
Удаляем столбцы с порядковыми номерами, восстанавливаем столбец со слешами :)
 
Цитата
nilske написал:
Я вижу такое решение.
Хитро ).

Но как по мне - много телодвижений(.
Хочется всё в одну формулу загнать.
 
derekT, а что в файле исходные данные и что желаемый результат?
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,исходные данные на Лист1.
Результат - на Лист2, выделен зелёным цветом.
Красным выделено то, что по идее должно давать такой же результат, что и зелёный, но...не работает.
Пытаюсь понять почему.
 
Цитата
derekT написал:
результат, что и зелёный
Код
=ПРОСМОТР(2;1/ПОИСК(ПОДСТАВИТЬ(Лист1!$A$4:$A$9;"/";"");A1);Лист1!$B$4:$B$9)
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,

Ого. Спасибо. Мощно.

Можно пару вопросов по вашей формуле?

1. Искомый параметр - 2 - а почему именно 2 ? Я ставил и 22 и 222 - результат всё равно правильный )
2. 1/ПОИСК(ПОДСТАВИТЬ(Лист1!$A$4:$A$9;"/";"");A1)   -  мы получим дробь в знаменателе  стоит номер позиции элемента, который находится в ячейке А1 иии.....тут что-то я опять не понял, как ПРОСМОТР будет искать значение 2 в этой дроби?
Страницы: 1
Наверх