Форум поддержки пользователей LibreOffice, Apache OpenOffice

Главная категория => Calc => Тема начата: Евгений5244 от 21 января 2020, 14:33

Название: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 21 января 2020, 14:33
Всем привет!
Прошу помощи, не могу решить кейс.
Есть 2 таблицы:
1) столбец 1: большой список данных, столбец 2: цифры (они относятся друг к другу построчно, перепутать нельзя)
2) столбец 1: список данных (все данные в этом таблице есть в таблице 1, столбце 1), столбец 2 символы (относятся друг к другу построчно, перепутать нельзя)
Пример на скриншоте:
https://prnt.sc/qqpowa

Необходимо сравнить столбец 1 таблицы 1 с столбец 1 таблицы 2, вывести все НЕ УНИКАЛЬНЫЕ значения сопоставив их с столбцами 2 обеих таблиц для значений в столбце 1

Возможно такое силами calc?
Или баз данных не избежать?
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: economist от 21 января 2020, 14:57
Calc может всё. Но если строк в таблицах >100000  - стоит задуматься об инструменте.

В С1 пишете формулу

=ВПР(A1;$D$1:$E$20;2;0)

и протягиваете её вниз за правый нижний угол. Полученный столбец фильтруете Автофильтром от #Н/Д и получаете свою табличку
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 21 января 2020, 15:06
Цитата: economist от 21 января 2020, 14:57получаете свою табличку
Супер, спасибо!
Но есть одно НО. Необходимо чтобы была отдельная уникальная таблица только не уникальных элементов. т.к. в таблице 1 300тыс строк, и копировать строки с соответствием вручную займет несколько дней. (во второй таблице 7тыс всего)

Если уж calc может все...
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 21 января 2020, 15:10
Цитата: Евгений5244 от 21 января 2020, 15:06Необходимо чтобы была отдельная уникальная таблица только не уникальных элементов
Расшифруйте это, что-то до меня не доходит
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: economist от 21 января 2020, 15:15
1,3 млн. строк - это уже не Calc. Лучше Базы данных или Python/Pandas. Сами таблицы в каком формате? 
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 21 января 2020, 15:40
Цитата: Bigor от 21 января 2020, 15:10
Цитата: Евгений5244 от 21 января 2020, 15:06Необходимо чтобы была отдельная уникальная таблица только не уникальных элементов
Расшифруйте это, что-то до меня не доходит

Нужно сравнить т1с1 и т2с1 и в отдельную таблицу вынести только повторяющиеся элементы (те, которые есть и в т1 и в т2), плюс сохранить сопоставление D и E.

Цитата: economist от 21 января 2020, 15:15
1,3 млн. строк - это уже не Calc. Лучше Базы данных или Python/Pandas. Сами таблицы в каком формате? 

Таблицу сократил до 60тыс в т1 и 7тыс в т2.


*т - таблица, с - столбец
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 21 января 2020, 15:42
Еще бы пример таблиц, что бы самому не придумывать :)
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 21 января 2020, 15:55
Цитата: Bigor от 21 января 2020, 15:42
Еще бы пример таблиц, что бы самому не придумывать :)

Вот!

Очень благодарен
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 21 января 2020, 15:57
Придумал сам. Смотрите
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 21 января 2020, 16:21
Цитата: Bigor от 21 января 2020, 15:57
Придумал сам. Смотрите


В переносе на бой не визуализируются значения. При условии переноса Ctrl+C Ctrl+V, столбцы соответствуют. В чем может быть проблема?
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 21 января 2020, 16:27
Без файла трудно сказать. У меня в формуле прописан диапазон a1:b38. Не исключено, что в этом диапазоне совпадений нет
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 21 января 2020, 16:29
Цитата: Bigor от 21 января 2020, 16:27
Без файла трудно сказать. У меня в формуле прописан диапазон a1:b38. Не исключено, что в этом диапазоне совпадений нет

Диапазон изменял. Окей, вот боевой:

Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 21 января 2020, 16:41
Нужно диапазон изменить и в match + у вас разные данные в А и D  в D в конце пробелы. Поэтому пробуйте такую формулу
=IFERROR(INDEX($A$1:$B$400000;MATCH(TRIM(D1);$A$1:$A$400000;0);1);"")
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 21 января 2020, 16:56
Цитата: Bigor от 21 января 2020, 16:41
Нужно диапазон изменить и в match + у вас разные данные в А и D  в D в конце пробелы. Поэтому пробуйте такую формулу
=IFERROR(INDEX($A$1:$B$400000;MATCH(TRIM(D1);$A$1:$A$400000;0);1);"")

получаем #ИМЯ?
https://prnt.sc/qqs8t2
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 21 января 2020, 17:00
У вас скорее всего используются русские имена функций. Или переведите на английские (https://forumooo.ru/index.php/topic,7960.msg53325.html#msg53325)  или переводите функции вручную.
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 22 января 2020, 10:20
Цитата: Bigor от 21 января 2020, 15:57
Придумал сам. Смотрите


Спасибо большое, все завелось. Очень помогли!
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 22 января 2020, 11:07
Цитата: Bigor от 21 января 2020, 17:00

К сожалению, нашлась ошибка. Неверно сопоставляет данные из т2 с1 и т1 с2.
На скриншотах примеры
(http://screenshot_3.png)
(http://screenshot_4.png)


Использую формулы
=ЕСЛИОШИБКА(ИНДЕКС($A$1:$B$400000,ПОИСКПОЗ(СЖПРОБЕЛЫ(D2),$A$1:$A$400000,0),1),"")
=ЕСЛИОШИБКА(ИНДЕКС($A$1:$B$400000,ПОИСКПОЗ(СЖПРОБЕЛЫ(D3),$A$1:$A$400000,0),2),"")
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: economist от 22 января 2020, 11:22
Сервис - Параметры - Calc - Вычисления -
ВКЛ Условия на всю ячейку 
ВКЛ Без подстан знаков и рег выражений
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 22 января 2020, 11:56
Цитата: economist от 22 января 2020, 11:22
Сервис - Параметры - Calc - Вычисления -
ВКЛ Условия на всю ячейку 
ВКЛ Без подстан знаков и рег выражений

Проблема не ушла.
Значение после vpbx должно совпадать с циферным. Однако, все равно проверил:
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 22 января 2020, 12:18
Т.е. в с1 т1 у вас множество одинаковых данных? Формула ищет первое совпадение с1 т1 с с1 Т2. Если нужно выбирать другое, опишите условия отбора
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 22 января 2020, 12:35
Цитата: Bigor от 22 января 2020, 12:18
Т.е. в с1 т1 у вас множество одинаковых данных? Формула ищет первое совпадение с1 т1 с с1 Т2. Если нужно выбирать другое, опишите условия отбора


Данные одинаковы, т.е данные из т1 с1 привязаны к т1 с2, и условие поиска по первому будет работать корректно. По какой то причине в итоговой таблице т3 с2 выводится неверный результат.

В т3 (с1 и с2) должно быть такое же значение как и в т1, только добавлена фильтрация соответствий (поиск НЕ уникальных значений) к т2, фактически
то есть:
Т1
vpbx400034510.mangosip.ru                400034510

Т3
vpbx400034510.mangosip.ru                400034510
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: bigor от 22 января 2020, 12:53
Я с телефона, но мне кажется, что у вас ошибка в #16, во 2 ой формуле поиск тоже должен идти по d2
Название: Re: Сравнение 2ух таблиц с сохранением зависимости между столбцами
Отправлено: Евгений5244 от 22 января 2020, 13:07
Цитата: Bigor от 22 января 2020, 12:53
Я с телефона, но мне кажется, что у вас ошибка в #16, во 2 ой формуле поиск тоже должен идти по d2

Спасибо за наводку! Нашел проблему. Формула ведется из 1ой стройки, поэтому значения просто уехали на 1 строку.