Сравнение 2ух таблиц с сохранением зависимости между столбцами

Автор Евгений5244, 21 января 2020, 14:33

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

Евгений5244

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

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

Возможно такое силами calc?
Или баз данных не избежать?

economist

Calc может всё. Но если строк в таблицах >100000  - стоит задуматься об инструменте.

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

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

и протягиваете её вниз за правый нижний угол. Полученный столбец фильтруете Автофильтром от #Н/Д и получаете свою табличку
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Евгений5244

Цитата: economist от 21 января 2020, 14:57получаете свою табличку
Супер, спасибо!
Но есть одно НО. Необходимо чтобы была отдельная уникальная таблица только не уникальных элементов. т.к. в таблице 1 300тыс строк, и копировать строки с соответствием вручную займет несколько дней. (во второй таблице 7тыс всего)

Если уж calc может все...

bigor

Цитата: Евгений5244 от 21 января 2020, 15:06Необходимо чтобы была отдельная уникальная таблица только не уникальных элементов
Расшифруйте это, что-то до меня не доходит
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

economist

1,3 млн. строк - это уже не Calc. Лучше Базы данных или Python/Pandas. Сами таблицы в каком формате? 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Евгений5244

Цитата: 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.


*т - таблица, с - столбец

bigor

Еще бы пример таблиц, что бы самому не придумывать :)
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Евгений5244

Цитата: Bigor от 21 января 2020, 15:42
Еще бы пример таблиц, что бы самому не придумывать :)

Вот!

Очень благодарен

bigor

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Евгений5244

Цитата: Bigor от 21 января 2020, 15:57
Придумал сам. Смотрите


В переносе на бой не визуализируются значения. При условии переноса Ctrl+C Ctrl+V, столбцы соответствуют. В чем может быть проблема?

bigor

Без файла трудно сказать. У меня в формуле прописан диапазон a1:b38. Не исключено, что в этом диапазоне совпадений нет
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Евгений5244

Цитата: Bigor от 21 января 2020, 16:27
Без файла трудно сказать. У меня в формуле прописан диапазон a1:b38. Не исключено, что в этом диапазоне совпадений нет

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


bigor

Нужно диапазон изменить и в match + у вас разные данные в А и D  в D в конце пробелы. Поэтому пробуйте такую формулу
=IFERROR(INDEX($A$1:$B$400000;MATCH(TRIM(D1);$A$1:$A$400000;0);1);"")
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Евгений5244

Цитата: 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

bigor

У вас скорее всего используются русские имена функций. Или переведите на английские  или переводите функции вручную.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут