Страницы: 1 2 След.
RSS
Приведение содержания двух столбцов к одинаковому виду
 
Доброго времени суток, имеется таблица с тремя столбцами. Необходимо ее так отформатировать, чтобы содержимое столбца "Артикул1" четко соответствовало содержимому столбца "Артикул2". Т.е из столбца "Артикул2" удалить те артикулы, которых нет в столбце "Артикул1", а также порядок расположения артикулов в обоих столбцах должен быть одинаков. Я пробовал сделать это через эту формулу =ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(B1;$A$1:$A$10000;0));"Unique";"Duplicate"). А потом применил фильтр, но не получилось. Подскажите, как это можно реализовать.
Изменено: Judgin - 19.07.2019 18:09:23
 
Цитата
Judgin написал:
из столбца "Артикул2" удалить те артикулы, которых нет в столбце "Артикул1", а также порядок расположения артикулов в обоих столбцах должен быть одинаков
1.Очистить столбец "Артикул2"
2.Скопировать столбец "Артикул1"
3.Вставить скопированное в очищенное
;)
P.S.  "Привидение содержания" - это намного круче, чем тень отца Гамлета :)
Изменено: _Igor_61 - 19.07.2019 20:33:42
 
Непойдёт, нужно чтобы значения в столбце количество соответствовали правильному артикулу
 
Доброе время суток
Можно узнать, почему вы считаете, что это
Цитата
Judgin написал:
Т.е из столбца "Артикул2" удалить те артикулы, которых нет в столбце "Артикул1"
эквивалентно этому
Цитата
Judgin написал:
чтобы содержимое столбца "Артикул1" четко соответствовало содержимому столбца "Артикул2".
Ну, и так и не понял про порядок
Цитата
Judgin написал:
а также порядок расположения артикулов в обоих столбцах должен быть одинаков.
Чтобы это значило с учётом столбца кол-во? Приведите пример.

Пока решение на Power Query для первой процитированной постановки задачи.
P. S. Прошу пояснить, как количество может быть 0,5 - это же счётное значение.
 
Цитата
Judgin написал:
нужно чтобы значения в столбце количество соответствовали правильному артикулу
А правильный это какой? "А" или "В"?
 
Цитата
Judgin написал:
Привидение
Judgin, Вы о каких привидениях? ))
 
Цитата
Андрей VG написал:
P. S. Прошу пояснить, как количество может быть 0,5 - это же счётное значение.
На это не обращайте внимание, файл от поставщика. Потом придётся корректировать
 
Попробую объяснить, зачем мне это все. Мне нужно, скажем 3 раза в неделю скачивать файл с остатками на складе у поставщика и загружать его себе на сайт.
С сайта поставщика есть возможность скачать файл с остатками на складе, который генерируется в формате csv. Столбцы Артикул2 и К-во как раз из него.
Столбец Артикул1 содержит артикулы из файла который будет загружен в мой интернет магазин. Файл я этот спарсил программой-парсером. И вот мне нужно состыковать эти столбцы, чтобы постоянно обновлять остаток на складе.  
 
Judgin, Какой из трех вариантов (см. файл) должен получиться в результате обработки?
 
Цитата
casag написал:
Какой из трех вариантов
Подозреваю, что такой. ТС видимо чтобы жизнь малиной не казалась объединил таблицу артикулов для интернета и таблицу данных поставщика вместе :)  Вместо того чтобы написать - нужно из таблицы данных поставщика отобрать данные по артикулам, которые есть в таблице для интернета. Как-то так можно расшифровать его логику изложения задачи. Но! Могу и ошибаться. Гуманитарии они такие загадочные :)
 
Андрей VG, Да, остается только гадать. :)  Но в вашем варианте, навскидку, много двойников. Например  "1511111"  в исходнике встречается - в столбце "А" 7 раз, а в столбце "В" 8 раз. У  вас 56 пар.(7*8), у меня 7 пар, а оставить, возможно, нужно только одну пару. :) . Ладно, давайте отдыхать, пусть ТС  разбирается.  
 
Цитата
casag написал:
У  вас 56 пар
Ну, так если есть повторы артикулов и в инет таблице и в таблице поставщика, то и получим декартово произведение. Похоже ТС из тех, что и сам не знает что нужно делать :(
 
casag , на самом деле, повторяющиеся артикулы создают ряд проблем. И в таком виде я их на сайт загрузить не могу. Чтобы избавиться от повторяющихся артикулов я думаю воспользоваться kutools. Сгенерировать и добавить к каждому артикулу рандомную цифру. И уже в таком виде загрузить на сайт. Для этого мне необходимо, чтобы в том файле, который я прикрепил к посту, первый столбец был бы как образец. Соответственно второй столбец должен выглядеть как первый. И при этом в третьем столбце ячейки с кол-вом должны относиться к соответствующему артикулу. Если это было бы возможно сделать, то после такого редактирования я бы мог скопировать добавленные, рандомные цифры к артикулам и в таком виде грузить на сайт. Таким образом на сайте и в загружаемом файле артикулы будут одинаковые, но в то же время без дубликатов.  
 
Judgin, я в посте №9 привел три варианта выгрузки данных после обработки, а Андрей VG, постом ниже еще один. Если вас не устраивает ни один из них, то покажите вручную как должен выглядеть файл после обработки.
 
Цитата
casag написал:
то покажите вручную как должен выглядеть файл после обработки.
Изменено: Judgin - 22.07.2019 15:13:01
 
Добрый день!

Может, вам подойдёт использование Power Query запросов.
См. способ номер три по ссылке ниже
https://www.planetaexcel.ru/techniques/14/4352/
 
NextZ, Добрый день,спасибо, попробую разобраться
 
Judgin, так устроит?
Код
Sub csg()
    Dim lr As Long, i As Long
    Dim rFind As Range
    Application.ScreenUpdating = False
    lr = Cells(Rows.Count, "A").End(xlUp).Row
    For i = 2 To lr Step 1
        Set rFind = Range("B2", Cells(Rows.Count, 2).End(xlUp)).Find(What:=Cells(i, "A").Text, LookIn:=xlValues, _
            LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)
        If Not rFind Is Nothing Then
             Cells(i, 1).Copy Destination:=Cells(Rows.Count, 5).End(xlUp).Offset(1, 0)
             rFind.Copy Destination:=Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
             rFind.Offset(0, 1).Copy Destination:=Cells(Rows.Count, 7).End(xlUp).Offset(1, 0)
             rFind = ""
             rFind.Offset(0, 1) = ""
        Else
             Cells(i, 1).Copy Destination:=Cells(Rows.Count, 10).End(xlUp).Offset(1, 0)
        End If
    Next
    Application.ScreenUpdating = True
End Sub
 
casag, к сожалению нет. Посмотрите в файле, который я скинул сегодня. Значения в обоих столбцах должны быть одинаковы. Когда вы мне скидывали 3 варианта, то во втором и третьем ввариантах такое расположение как требуется. Но очерёдность артикулов в обоих столбцах должна быть как в первом варианте в первом столбце
 
Judgin, тогда так. Артикул 1 без изменений. Если есть совпадение - напротив пара, иначе пусто.
 
casag, но ведь опять артикулы в первом и втором столбце  не совпадают. Я добавил рядом несколько артикулов. Посмотрите как должно быть
Изменено: Judgin - 22.07.2019 20:07:53
 
Цитата
Judgin написал:
Я добавил рядом несколько артикулов. Посмотрите как должно быть
Каким образом во второй таблице в столбце Артикул2 появилось значение a025b, если в первой исходной таблице в столбце Артикул2 его нет?
Изменено: Андрей VG - 22.07.2019 20:56:59
 
Андрей VG, да действительно этого значения в исходном файле нет. Так как в нем только часть артикулов. Файл с полным списком артикулов весит больше, чем разрешено прикреплять к посту. Я залью файл на какой-нибудь файл обменник и скину ссылку сюда
 
Цитата
Judgin написал: да действительно этого значения в исходном файле нет. Так как в нем только часть артикулов.
Ну, так и макрос работает с частью артикулов, которые вы выложили. Загрузите в книгу с макросом полный список и получите другой результат.  
Изменено: casag - 24.07.2019 00:09:14
 
Цитата
Judgin написал:
да действительно этого значения в исходном файле нет
То есть нужно было, чтобы прошло трое суток обсуждения, чтобы прийти к пониманию (надеюсь у вас оно наступило), что это не зря пишется в правилах
Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 300Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
Попробуйте всё же составить простой пример из 20-30 (а то и меньше строк на входе) и что действительно должно именно из них, этих строк входа, получиться на выходе.
Разве это так сложно?
 
Ссылка на файл со всеми артикулами  
http://wdfiles.ru/a2tk
 
Цитата
Андрей VG написал:
Попробуйте всё же составить простой пример из 20-30 (а то и меньше строк на входе) и что действительно должно именно из них, этих строк входа, получиться на выходе.
Так я вроде скидывал файл, в котором показал, что должно получится на выходе. Вот он.
 
Цитата
Judgin написал:
Так я вроде скидывал файл, в котором показал, что должно получится на выходе
Мда, так меня ещё никто не троллил  :D  Спасибо за науку! Намёк понял, тему покидаю.
 
casag, Добрый вечер. Вы хотя бы какой-то вердикт вынесите. Либо это вообще невозможно сделать, либо можно, но вы этим заниматься не будете.  
 
Judgin, Вы читаете, то что вам пишут? Вы же даже не пытались проверить макрос из поста №20. Я вам писал
Цитата
casag написал:
Загрузите в книгу с макросом полный список и получите другой результат.  
Берете файл из поста №20, загружаете туда свой полный список и включаете макрос. Макрос работает долго, но свою работу делает. Для такого большого объема для скорости нужно делать макрос на массивах.
Страницы: 1 2 След.
Наверх