Сравнить данные и объединить значения

Автор Валерий Зимин, 12 августа 2015, 09:32

0 Пользователи и 1 гость просматривают эту тему.

Валерий Зимин

Всем здравствуйте! Столкнулся со следующей проблемой в Calc'е:
Имеется два листа: "Предписания" и "Список". В листе "Предписания" требуется отнести каждый адрес предписания к определённому участку ("ОО") из листа "Список" и получить таблицу, как на листе "Результат" (не обязательно отдельным листом, можно добавить информацию в существующий лист). Делал подобные вещи с помощью встроенной функции "Объединить..." (Данные -> Объединить...), но эта функция работает через раз, по какой-то своей непонятной (мне) логике. Когда нет повторяющихся записей, она работает, а если есть повторяющиеся - выдаёт фигню.
Если другим языком, требуется вот что:
1. Открываем лист "Предписания".
2. Смотрим адрес первого предписания - "Магистральная, 68".
3. Открываем лист "Список".
4. Находим там "Магистральная, 68".
5. Видим в колонке "ОО" что это "ООО "Объект-4", Участок 2".
6. Опять отрываем лист "Предписания".
7. В выбранном предписании дописываем в соседней колонке "ООО "Объект-4", Участок 2".
8. Переходим к следующему предписанию.

P.S.: если адрес в списке не найден, то ничего не пишем.
Адреса в "предписаниях" по написанию 100% совпадают с написанием адреса в "Списке".

Подобные объединения требуются не раз, к тому же иногда нужно объединять сразу несколько параметров (то есть добавить к листу "Предписания" не одну колонку с "ОО", а ещё несколько - год постройки, площадь, кол-во этажей и пр.).
Как это можно сделать автоматизированным способом? Заранее спасибо! Если подскажете хорошую литературу по макросам - буду оч. благодарен.

rami

Цитата: Валерий Зимин от 12 августа 2015, 07:32подскажете хорошую литературу по макросам
http://admin-smolensk.ru/~websprav/freesoft/freesoft/OpenOffice.org%20Macros%20Explained.Master.pdf
Цитата: Валерий Зимин от 12 августа 2015, 07:32Как это можно сделать автоматизированным способом?
Формулами. Проверяйте:

VlhOwn

В варианте, предложенном rami, лучше, если это возможно, сделать одну колонку, в которой будет результат поиска VLOOKUP, и скрыть ее, а в соседней видимой колонке отфильтровать ненайденные значения с помощью IF. Тем самым избежите двойного поиска.

Валерий Зимин