Страницы: 1
RSS
Поиск отсутствующих позиций в другом столбце
 
Есть два столбца http://c2n.me/3frzj6S
1 Столбик - 2514 строк
2 Столбик - 384 строк
Мне нужно чтобы ексель взял за основу первый столбик и сказал какие позиции отсутствую в втором столбике.
Брал за основу формулу =IF(ISERROR(MATCH(A1,$C$1:$C$5,0)),"",A1) но она не работает у меня уже подгорает я не знаю что делать, я бы вручную это сделал бы быстрее.
Изменено: Batherd - 03.04.2015 16:02:53
 
ВПР? Зайти по ссылке не могу...навскидку написал.
Изменено: alexthegreat - 03.04.2015 15:40:19
 
Там скриншот
Скрытый текст
Изменено: Batherd - 03.04.2015 15:51:12
 
Форум по Excel, а Вы гоняете людей картинки смотреть!
Выложить пример сюда - трудно? Файл Excel! Не рисунок.
 
ссылка
 
Представьте.
Вы приходите в ателье костюм заказать. Но не на Вас - для брата, который находится в другом городе, и предлагаете закройщику прокатиться туда...
Костюм закройщику нужен?
 
Цитата
vikttur написал:
Представьте.
Вы приходите в ателье костюм заказать. Но не на Вас - для брата, который находится в другом городе, и предлагаете закройщику прокатиться туда...
Костюм закройщику нужен?
Представил
ситуация не из приятных
Изменено: Batherd - 03.04.2015 16:01:05
 
Хорошо. Теперь зайдите в правила и почитайте.
И о примере, и о цитировании. После этого прошу исправить сообщение.
 
Цитата
vikttur написал:
Хорошо. Теперь зайдите в правила и почитайте.
И о примере, и о цитировании. После этого прошу исправить сообщение.
я понял тут также напряжнокак и в самом екселе ...
 
Знаки препинания.
С ними тоже напряжно ?

п.с. Вам уже советовали ВПР -
Открывайте файл эксель (любой) жмите F1 - в поиске пишите ВПР ( или VLOOKUP ) - Совершенствуйтесь !
Кажется все забыли про сводные :)
 
Попробуйте так: =ЕСЛИОШИБКА(ПОИСКПОЗ(B1;Столбец2);"Отсутствует") и протяните вдоль Столбца1. Потом отфильтруйте по "Отсутствует"
 
Batherd, Вам же сделали уже замечание - не цитируйте без необходимости.
 
Цитата
Batherd написал: сказал какие позиции отсутствую в втором столбике
ещё вариант - COUNTIF()/СЧЁТЕСЛИ() - у каких будет 0, те отсутсвуют.
 
Решение на SQL запросе к листу Sheet1. На листе "Нет справа" перечень артикулов, которых нет в правой колонке
Файл д.б. расположен в папке C:\1\
Неизлечимых болезней нет, есть неизлечимые люди.
 
все варианты не пробовала, но по файлу (пост#14) - есть расхождения по сравнению с таким макросом:
(- пока не могу понять почему...)
Код
Sub dic_REMOVE()
'Сравнение столбцов и выборка невстречающихся строк (>100 000 строк)
'http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=8&TID=25265&TITLE_SEO=25265&MID=221593&tags=&q=d.remove&DATE_CHANGE=0&order=relevance&s=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8#message221593
'nilem 21 Апр 2011 13:52:41

Dim x, i&
With CreateObject("Scripting.Dictionary")
 .CompareMode = 0
 
 x = Sheets("Sheet1").Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Value
 For i = 1 To UBound(x): .Item(x(i, 1)) = i: Next
 
 x = Sheets("Sheet1").Range("C1:C" & Cells(Rows.Count, 3).End(xlUp).Row).Value
 For i = 1 To UBound(x)
 If .Exists(x(i, 1)) Then .Remove (x(i, 1))
 Next 

'выгрузка в столбец F
If .Count > 0 Then Sheets("Sheet1").[F1].Resize(.Count) = Application.Transpose(.Keys)
End With
End Sub
может ТС внесёт ясность по своим данным (проверив их самостоятельно и опубликовав верный ответ)
Изменено: JeyCi - 05.04.2015 18:07:14
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Тут макросы лишние. Просто человеку лень выложить нормально файл и прочесть справку :-) Плюс слова "не работает" никак не описывают проблему. Что именно не работает? С чего решили, что не работает? Ошибка появляется или все подтягивается или еще что...

Если опираться на то, что есть:
MATCH(A1,$C$1:$C$5,0)
будет искать только в 5-ти сроках. Надо увеличить диапазон: MATCH(A1,$C$1:$C$500,0)
Думаю тогда все заработает.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал:Тут макросы лишние.
согласна, просто SQL-подход понравился - захотелось проверить - пока в задумчивости...
пост#14 отличился элегантностью (в моём понимании)... неравнодушная я стала к SQL :oops: ...
хотя, конечно, формулы в ячейках тоже заслуживают уважения по сравнению с многословием макросов...
а формулы запросов - это отдельная история...
Изменено: JeyCi - 05.04.2015 15:59:44
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
The_Prist написал: Просто человеку лень ... прочесть справку
Вопрос философский и одновременно личного характера. Кто-то ловит рыбу сам, кто-то покупает в магазине...
Неизлечимых болезней нет, есть неизлечимые люди.
 
нашла ошибку в макросе, адаптированном, - исправила свой пост выше
- беглым взглядом результат идентичен запросу SQL (пост#14)
sorry - поспешила с выводом - начало совпадает - но если прокрутить страницу вниз -
разница в каких-то 12 значений: sql - общей сложностью строк 1741 (с шапкой), макрос 1729 (с шапкой)
ОШИБКА ВСКРЫТА 8):
есть дубли в исходной таблице (в словарь они попадают как одно значение),
а sql их подгребает задвоенными как есть
(с одним так точно такая проблема - все не искала)
Изменено: JeyCi - 05.04.2015 17:32:47
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
JeyCi написал:
есть дубли в исходной таблице (в словарь они попадают как одно значение),
Почему вы решили, что AT-X610-24-BDL-NCBP1 и AT-x610-24-BDL-NCBP1 - одно и тоже? Менеджер старался, вбивал дважды, а вы говорите "одно и тоже"! )
Неизлечимых болезней нет, есть неизлечимые люди.
 
Цитата
TheBestOfTheBest написал: Почему вы решили...
потому что

Цитата
The_Prist: Просто человеку лень выложить нормально файл и прочесть справку Приёмы и Правила форума) Плюс слова "не работает" никак не описывают проблему.
p.s. да, если поставить .CompareMode = 0 - отрабатывает как sql
(изменения внесены в макрос выше)
Изменено: JeyCi - 05.04.2015 18:17:22
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Страницы: 1
Наверх