Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сравнить два столбца и вывести уникальные значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сравнить два столбца и вывести уникальные значения (Формулы/Formulas)
Сравнить два столбца и вывести уникальные значения
leg Дата: Среда, 17.06.2015, 23:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Помогите пожалуйста найти решение.
Задача 1
Есть таблица с номерами: в столбце А - старые номера, в столбце B - новые номера, номера в обоих столбцах могут повторятся. Необходимо сравнить на повторы столбец В и А и в столбец С вывести только те номера из столбца В, которых нет в столбце А. Т.е. если в столбце В нет номера, который есть в столбце А, то его выводим в столбец С, если же в обоих столбцах есть одинаковые номера, то в столбец С их выводить не надо, так же если в столбце А есть номера, которых нет в столбце В, их тоже не надо выводить в столбец С.
Задача 2
В этой же таблице в столбец D вывести номера из столбца B, которые есть в столбце А. Т.е. если в столбце B есть номер из столбца А, то его выводим столбец D.

Файл с номерами в приложении. Буду очень благодарен за помощь
К сообщению приложен файл: 5741828.xlsx (9.3 Kb)


Сообщение отредактировал leg - Среда, 17.06.2015, 23:31
 
Ответить
СообщениеЗдравствуйте! Помогите пожалуйста найти решение.
Задача 1
Есть таблица с номерами: в столбце А - старые номера, в столбце B - новые номера, номера в обоих столбцах могут повторятся. Необходимо сравнить на повторы столбец В и А и в столбец С вывести только те номера из столбца В, которых нет в столбце А. Т.е. если в столбце В нет номера, который есть в столбце А, то его выводим в столбец С, если же в обоих столбцах есть одинаковые номера, то в столбец С их выводить не надо, так же если в столбце А есть номера, которых нет в столбце В, их тоже не надо выводить в столбец С.
Задача 2
В этой же таблице в столбец D вывести номера из столбца B, которые есть в столбце А. Т.е. если в столбце B есть номер из столбца А, то его выводим столбец D.

Файл с номерами в приложении. Буду очень благодарен за помощь

Автор - leg
Дата добавления - 17.06.2015 в 23:11
Manyasha Дата: Четверг, 18.06.2015, 00:05 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
leg, я запуталась, так как нужно:
те номера из столбца В, которых нет в столбце А
или
в столбце В нет номера, который есть в столбце А

Сделала для обоих случаев
есть в В, нет в А
Код
=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$22;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(A$2:A$22;B$2:B$22)=0;ЕСЛИ(B$2:B$22<>0;СТРОКА(B$2:B$22);""));СТРОКА(B1:B21))-1);"")
для второго случая аналогично, только на пустые ячейки проверять не обязательно.
Обе формулы массивные, вводятся сочетанием ctrl+shift+enter. Ну и УФ в файле на всякий случай.
К сообщению приложен файл: 5741828_1.xlsx (11.6 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеleg, я запуталась, так как нужно:
те номера из столбца В, которых нет в столбце А
или
в столбце В нет номера, который есть в столбце А

Сделала для обоих случаев
есть в В, нет в А
Код
=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$22;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(A$2:A$22;B$2:B$22)=0;ЕСЛИ(B$2:B$22<>0;СТРОКА(B$2:B$22);""));СТРОКА(B1:B21))-1);"")
для второго случая аналогично, только на пустые ячейки проверять не обязательно.
Обе формулы массивные, вводятся сочетанием ctrl+shift+enter. Ну и УФ в файле на всякий случай.

Автор - Manyasha
Дата добавления - 18.06.2015 в 00:05
leg Дата: Четверг, 18.06.2015, 12:44 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, огромное вам спасибо! Все работает
 
Ответить
СообщениеManyasha, огромное вам спасибо! Все работает

Автор - leg
Дата добавления - 18.06.2015 в 12:44
leg Дата: Четверг, 18.06.2015, 13:04 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, только я вот не понял как переделать формулу под задачу 2, т.е. как в столбец D вывести ячейки с номерами из столбца B, которые есть в столбце А. С массивами я вообще не дружу просто :(
 
Ответить
СообщениеManyasha, только я вот не понял как переделать формулу под задачу 2, т.е. как в столбец D вывести ячейки с номерами из столбца B, которые есть в столбце А. С массивами я вообще не дружу просто :(

Автор - leg
Дата добавления - 18.06.2015 в 13:04
Manyasha Дата: Четверг, 18.06.2015, 13:21 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
leg, просто замените знак "=" на знак ">" в условии для СЧЁТЕСЛИ, и можно проверку на пустые ячейки убрать:
Код
=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$22;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(A$2:A$22;B$2:B$22)>0;СТРОКА(B$2:B$22));СТРОКА(B1:B21))-1);"")


ЯД: 410013299366744 WM: R193491431804

Сообщение отредактировал Manyasha - Четверг, 18.06.2015, 13:23
 
Ответить
Сообщениеleg, просто замените знак "=" на знак ">" в условии для СЧЁТЕСЛИ, и можно проверку на пустые ячейки убрать:
Код
=ЕСЛИОШИБКА(ИНДЕКС(B$2:B$22;НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(A$2:A$22;B$2:B$22)>0;СТРОКА(B$2:B$22));СТРОКА(B1:B21))-1);"")

Автор - Manyasha
Дата добавления - 18.06.2015 в 13:21
leg Дата: Четверг, 18.06.2015, 13:37 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, еще раз огромно вам спасибо :)
 
Ответить
СообщениеManyasha, еще раз огромно вам спасибо :)

Автор - leg
Дата добавления - 18.06.2015 в 13:37
leg Дата: Четверг, 18.06.2015, 16:01 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, а есть ли вариант формулы попроще? С не большими объемами это все работает отлично, а вот если в одном столбце около 100 тысяч и в другом примерно столько же, эксель просто с ума сходит. А мне как раз необходимо обрабатывать большие объемы информации. Или я слишком много требую от эксель и он под такие нужды не подходит?
 
Ответить
СообщениеManyasha, а есть ли вариант формулы попроще? С не большими объемами это все работает отлично, а вот если в одном столбце около 100 тысяч и в другом примерно столько же, эксель просто с ума сходит. А мне как раз необходимо обрабатывать большие объемы информации. Или я слишком много требую от эксель и он под такие нужды не подходит?

Автор - leg
Дата добавления - 18.06.2015 в 16:01
Manyasha Дата: Четверг, 18.06.2015, 17:01 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
leg, массивные формулы на таких объемах всегда тормозят.
Можно написать макрос, будет быстрее. Или можно формулой
Код
=ЕСЛИ(СЧЁТЕСЛИ($B$2:$B$22;A2)>0;1;0)
отметить ячейки, удовлетворяющие условиям (есть в А, нет в В), а потом отсортировать по убыванию. Отсортировать, кстати, еще можно и по цвету (УФ в предыдущем файле есть)
К сообщению приложен файл: 5741828_2.xlsx (11.0 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеleg, массивные формулы на таких объемах всегда тормозят.
Можно написать макрос, будет быстрее. Или можно формулой
Код
=ЕСЛИ(СЧЁТЕСЛИ($B$2:$B$22;A2)>0;1;0)
отметить ячейки, удовлетворяющие условиям (есть в А, нет в В), а потом отсортировать по убыванию. Отсортировать, кстати, еще можно и по цвету (УФ в предыдущем файле есть)

Автор - Manyasha
Дата добавления - 18.06.2015 в 17:01
leg Дата: Четверг, 18.06.2015, 17:57 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, все теперь все отлично и быстро работает. Я вам очень благодарен hands
 
Ответить
СообщениеManyasha, все теперь все отлично и быстро работает. Я вам очень благодарен hands

Автор - leg
Дата добавления - 18.06.2015 в 17:57
krosav4ig Дата: Четверг, 18.06.2015, 23:56 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
leg, а такой вариант не подойдет?
К сообщению приложен файл: 5741828.xlsm (17.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеleg, а такой вариант не подойдет?

Автор - krosav4ig
Дата добавления - 18.06.2015 в 23:56
leg Дата: Пятница, 26.06.2015, 20:17 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, к сожалению я не разобрался, как вашим вариантом пользоваться. И у меня почему то на иконке вашего файла восклицательный знак стоит.


Сообщение отредактировал leg - Пятница, 26.06.2015, 20:23
 
Ответить
Сообщениеkrosav4ig, к сожалению я не разобрался, как вашим вариантом пользоваться. И у меня почему то на иконке вашего файла восклицательный знак стоит.

Автор - leg
Дата добавления - 26.06.2015 в 20:17
vikttur Дата: Пятница, 26.06.2015, 20:23 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

=ЕСЛИ(СЧЁТЕСЛИ($B$2:$B$22;A2)>0;1;0)

Достаточно
Код
=--(СЧЁТЕСЛИ($B$2:$B$22;A2)>0)
 
Ответить
Сообщение
=ЕСЛИ(СЧЁТЕСЛИ($B$2:$B$22;A2)>0;1;0)

Достаточно
Код
=--(СЧЁТЕСЛИ($B$2:$B$22;A2)>0)

Автор - vikttur
Дата добавления - 26.06.2015 в 20:23
Manyasha Дата: Пятница, 26.06.2015, 22:16 | Сообщение № 13
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
vikttur, верно, частенько забываю про него (в смысле про двойное отрицание) :)
leg, восклицательный знак - это признак того, что файл содержит макросы.
Откройте файл, нажмите alt+f11 и в модуле "Эта книга" увидите код (лично для меня пока загадочный:))


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеvikttur, верно, частенько забываю про него (в смысле про двойное отрицание) :)
leg, восклицательный знак - это признак того, что файл содержит макросы.
Откройте файл, нажмите alt+f11 и в модуле "Эта книга" увидите код (лично для меня пока загадочный:))

Автор - Manyasha
Дата добавления - 26.06.2015 в 22:16
SLAVICK Дата: Пятница, 26.06.2015, 22:36 | Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
код (лично для меня пока загадочный:)

Manyasha, посмотрите в подключениях и в именах - там самое интересное, а код - это часть решения.

правда этот код по идее призван обновлять подключение.

по моему нужно тогда еще добавить обновление.
[vba]
Код
Private Sub Workbook_Open()
            Me.Connections("запрос").ODBCConnection.Connection = "ODBC;DBQ=" & Me.FullName & ";Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}"
            Me.Connections("запрос").Refresh
End Sub
[/vba]

krosav4ig, к сожалению я не разобрался, как вашим вариантом пользоваться.


достаточно на синей таблице просто клацнуть правой кнопкой мыши и выбрать обновить.
Это запустит SQL запрос написанный krosav4ig. hands
Или просто открыть файл.
К сообщению приложен файл: 5741825.xlsm (18.6 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Пятница, 26.06.2015, 23:29
 
Ответить
Сообщение
код (лично для меня пока загадочный:)

Manyasha, посмотрите в подключениях и в именах - там самое интересное, а код - это часть решения.

правда этот код по идее призван обновлять подключение.

по моему нужно тогда еще добавить обновление.
[vba]
Код
Private Sub Workbook_Open()
            Me.Connections("запрос").ODBCConnection.Connection = "ODBC;DBQ=" & Me.FullName & ";Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}"
            Me.Connections("запрос").Refresh
End Sub
[/vba]

krosav4ig, к сожалению я не разобрался, как вашим вариантом пользоваться.


достаточно на синей таблице просто клацнуть правой кнопкой мыши и выбрать обновить.
Это запустит SQL запрос написанный krosav4ig. hands
Или просто открыть файл.

Автор - SLAVICK
Дата добавления - 26.06.2015 в 22:36
leg Дата: Среда, 01.07.2015, 13:43 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, в ваш файл вставил номера, более 60 тысяч в колонку старые и 10 тыс. в колонку новые, нажимаю обновить выскакивает сообщение - [Microsoft][Драйвер ODBC Excel] Несоответствие типа выражений
 
Ответить
СообщениеSLAVICK, в ваш файл вставил номера, более 60 тысяч в колонку старые и 10 тыс. в колонку новые, нажимаю обновить выскакивает сообщение - [Microsoft][Драйвер ODBC Excel] Несоответствие типа выражений

Автор - leg
Дата добавления - 01.07.2015 в 13:43
Макрописец Дата: Среда, 01.07.2015, 14:01 | Сообщение № 16
Группа: Заблокированные
Ранг: Форумчанин
Сообщений: 128
Репутация: 7 ±
Замечаний: 100% ±

Excel 2010
leg,
Файл такой же, как и в стартовом посте этой темы? Если нет - сделайте пример со СТРУКТУРОЙ данных ИДЕНТИЧНОЙ структуре данных в Вашем файле и данными вида идентичного данным в Вашем файле и приложите в своём сообщении.


ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
 
Ответить
Сообщениеleg,
Файл такой же, как и в стартовом посте этой темы? Если нет - сделайте пример со СТРУКТУРОЙ данных ИДЕНТИЧНОЙ структуре данных в Вашем файле и данными вида идентичного данным в Вашем файле и приложите в своём сообщении.

Автор - Макрописец
Дата добавления - 01.07.2015 в 14:01
SLAVICK Дата: Среда, 01.07.2015, 14:13 | Сообщение № 17
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Цитата Макрописец, 01.07.2015 в 14:01, в сообщении № 16
SLAVICK, в ваш файл вставил номера, более 60 тысяч в колонку старые и 10 тыс

Спасибо конечно, но это файл krosav4ig (10-й пост), я только добавил одну строку :D :
[vba]
Код
Me.Connections("запрос").Refresh
[/vba]
Попробуйте приложить больше своих данных для проверки, возможно действительно другая структура, или еще что.


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Среда, 01.07.2015, 14:14
 
Ответить
Сообщение
Цитата Макрописец, 01.07.2015 в 14:01, в сообщении № 16
SLAVICK, в ваш файл вставил номера, более 60 тысяч в колонку старые и 10 тыс

Спасибо конечно, но это файл krosav4ig (10-й пост), я только добавил одну строку :D :
[vba]
Код
Me.Connections("запрос").Refresh
[/vba]
Попробуйте приложить больше своих данных для проверки, возможно действительно другая структура, или еще что.

Автор - SLAVICK
Дата добавления - 01.07.2015 в 14:13
onzek Дата: Понедельник, 13.02.2017, 18:21 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Друзья, выручайте! Есть 3 столбца артикулов:
1 (битрикс) - то, что есть на сайте,
2 (навижн) - то, что есть в учетной программе,
3 (совпадения) - то, что есть в обоих столбцах - не уверен в правильности, делал сам

Нужно сделать 4 столбец (разница), в котором будут данные из второго столбца, если их не будет в первом

Помогите пожалуйста решить данную задачку!

Таблица с данными https://drive.google.com/open?id=0B8D43Ww0tpVyQ1RkcXNNQUxveTg

заранее спасибо!
 
Ответить
СообщениеДрузья, выручайте! Есть 3 столбца артикулов:
1 (битрикс) - то, что есть на сайте,
2 (навижн) - то, что есть в учетной программе,
3 (совпадения) - то, что есть в обоих столбцах - не уверен в правильности, делал сам

Нужно сделать 4 столбец (разница), в котором будут данные из второго столбца, если их не будет в первом

Помогите пожалуйста решить данную задачку!

Таблица с данными https://drive.google.com/open?id=0B8D43Ww0tpVyQ1RkcXNNQUxveTg

заранее спасибо!

Автор - onzek
Дата добавления - 13.02.2017 в 18:21
Pelena Дата: Понедельник, 13.02.2017, 19:24 | Сообщение № 19
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
onzek, Прочитайте Правила форума и создайте свою тему. Для Google Docs есть свой раздел.
Эта тема закрыта


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеonzek, Прочитайте Правила форума и создайте свою тему. Для Google Docs есть свой раздел.
Эта тема закрыта

Автор - Pelena
Дата добавления - 13.02.2017 в 19:24
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сравнить два столбца и вывести уникальные значения (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!