1

Тема: Як знайти співпадіння?

Доброго дня,маю 2 списки які складаються з цифр.
Починаються однаково,але останні 4-5 цифр різні.
Типу такого :
1111111116789
1111111113456

Потрібно їх звірити та знайти співпадіння.
Облазив гугл- нічого.Типу сайти,які шукають співпадіння в тексті.
Спробував через exel - вийшло не те.

Підкажіть,будь ласка,як то можливо зробити з мінімальними часовими витратами ?

2

Re: Як знайти співпадіння?

Боюся, вам доведеться розповісти детальніше, скільки там таких рядків і нащо вам те все.
В Excel є умовне форматування, можна, наприклад, підсвітити в стовпці всі комірки, які вже зустрічалися.

3

Re: Як знайти співпадіння?

koala написав:

Боюся, вам доведеться розповісти детальніше, скільки там таких рядків і нащо вам те все.
В Excel є умовне форматування, можна, наприклад, підсвітити в стовпці всі комірки, які вже зустрічалися.

Це робоче завдання.


Рядків десь біля 1000.Співпадінь має бути 100-200.

Варіант через ctrl + F - багато часу витрачаю.
Варіант писати код -  нема бажання встановлювати на новий ПК програми,які я не буду в перспективі використовувати.А онлайн кампілятор,не певний що буде працювати.
Варіант Exel - не дав бажаного результату.Так як початок у рядків однаковий,то підсвічується майже все,навіть ті рядки,де немає ніяких співпадінь.
Варіант Word : порівняння 2 файлів,не дав бажаного результату також.

Коротше кажучи,завдання банальне,але так як я досить лінивий,то хочу зробити то швидко.
Хоча,якби сів робити коли тільки отримав його,то міг би вже й закінчити :(

4 Востаннє редагувалося frz (21.06.2022 16:26:12)

Re: Як знайти співпадіння?

darsteba написав:

маю 2 списки які складаються з цифр.
Починаються однаково,але останні 4-5 цифр різні.
Типу такого :
1111111116789
1111111113456

Потрібно їх звірити та знайти співпадіння.

Дайте конкретні приклади, якщо там нема конфіденційних даних.

1111111116789
1111111113456

Для цих двох значень алгоритм повинен повернути спільну частину 111111111? Чи це приклад різних значень, які відповідно повинні бути відкинені алгоритмом як цілком різні? Можливо, ті самі значення 1111111116789 або 1111111113456 існують в двох різних списках і саме їх потрібно повернути?
Уточніть завдання.

----

Upd: Якщо йдеться про повне співпадіння, то я б імпортував ці значення в базу (наприклад Postgres) - два списки в дві різні таблиці. Далі елементарно:

select distinct t1.col1 from t1 inner join t2 on t1.col1 = t2.col2

якось так.

5 Востаннє редагувалося koala (21.06.2022 16:57:49)

Re: Як знайти співпадіння?

У мене формула =COUNTIF(A$1:A$3,A1) чудово працює (діапазон, зрозуміло, A1:A3). Для 1000 має працювати ідеально. Показує кількість відповідних рядків у комірках.
Для умовного форматування можете скористатися =COUNTIF(A$1:A$3,A1)>1
Якщо вам треба витягнути список повторень - це трохи хитріше, але теж нескладно, напишіть формулу, де замість неповторюваних порожнє місце, скопіюйте результат за значенням і відсортуйте.

6

Re: Як знайти співпадіння?

frz написав:
darsteba написав:

маю 2 списки які складаються з цифр.
Починаються однаково,але останні 4-5 цифр різні.
Типу такого :
1111111116789
1111111113456

Потрібно їх звірити та знайти співпадіння.

Дайте конкретні приклади, якщо там нема конфіденційних даних.

1111111116789
1111111113456

Для цих двох значень алгоритм повинен повернути спільну частину 111111111? Чи це приклад різних значень, які відповідно повинні бути відкинені алгоритмом як цілком різні? Можливо, ті самі значення 1111111116789 або 1111111113456 існують в двох різних списках і саме їх потрібно повернути?
Уточніть завдання.

----

Upd: Якщо йдеться про повне співпадіння, то я б імпортував ці значення в базу (наприклад Postgres) - два списки в дві різні таблиці. Далі елементарно:

select distinct t1.col1 from t1 inner join t2 on t1.col1 = t2.col2

якось так.

То було 2 приклади із завдання.

Сенс його максимально простий : є 2 таблиці (я так оформив,можна всі дані в 1 тримати) , вони у вигляді цифр , потрібно знайти схожість і більше нічого.

Перші 8-10 цифр однакові , останні 4-5 різні.

К-сть таблиць чи рядків  - не важливо ,також не важливо чи вони записані у файлі Word \ Exel \ TXT і т.д. В кінцевому результаті,потрібно дізнатись які дані співпадають , а які ні .


Якщо так зрозуміліше , то щось типу як при перевірці тексту на плагіат.

7

Re: Як знайти співпадіння?

Дякую вам за рекомендації , завтра спробую використати всі можливі стратегії )

8

Re: Як знайти співпадіння?

Якщо взяти php, зчитати це в масив і визвати функцію array_count_values()...

9

Re: Як знайти співпадіння?

Ось на колінці:

$ar = file('file.txt');
$res = array_count_values($ar);
foreach ($res as $k => $v) {
    if ($v > 1) {
        echo $k . ' - ' . $v . "\n";
    }
}