Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Power Query последняя не пустая ячейка столбца
 
PooHkrd, начать новый индекс, так как число я беру с одной таблицы, а продолжать буду в общей сводной. Это я просто так пример сделал. Оригинал собирает данные с 5-ти файлов и переделывает так как мне нужно.  

buchlotnik, спасибо, как все просто оказалось. Я смотрел на эту команду ну не смог правильно применить.
Второй день как познакомился с Power Query, до этого все было на формулах.
Power Query последняя не пустая ячейка столбца
 

Здравствуйте, помогите, пожалуйста!
Нужно вернуть значение (число) из последней непустой ячейки столбца и с этого числа+1 начать индекс.
Есть таблица в которой с столбца "A" нужно взять последнее значение (141669), и с числа на 1 больше (141670) начать индекс.
Спасибо.

Замена текста в Power Query функцией List.Accumulate
 
Спасибо большое то, что надо!  
Замена текста в Power Query функцией List.Accumulate
 
Взято с статти: Массовая замена текста в Power Query функцией List.Accumulate

Заменяет дважды с таким вот списком замены:

Найти = "Платья XL+", Заменить = "Женщинам|Батал|Платья"
Найти = "Платья", Заменить = "Женщинам|Норма|Платья"

В таком случаи при поиске " Платья XL+ " замена сработает дважды в итоге получится: Женщинам|Батал|Женщинам|Норма|Платья
Пример с файлом прикрепил.
Почему так происходит, где ошибка?
Изменено: AGuk - 21.11.2020 00:10:06
Поиск позиции столбца в списке
 
Получается все как я хотел, спасибо. Но буду пробовать использовать Power Query.
Иногда приходится работать с более чем 100000 строками и несколькими файлами одновременно, очень медленно формулы обрабатывает запросы.
А в Power Query можно все файлы подключить в один документ.

Цитата
Anton555 написал: держите пример на pq
Начал разбиратся с pq, и почему я раньше его не использовал! Тепер все что могу переделываю под него.
Все намного быстрее работает. Будем изучать.

Спасибо.
Поиск позиции столбца в списке
 
Цитата
Anton555 написал:
все изменения делайте через pq, если названия столбцов всегда одинаковы, то не имеет значение, где находится тот или иной столбец
Я в Power Query не очень силен, да и если бы нужно было только сгруппировать данные это было бы просто. Здесь проблема в том, что пример мой это только часть того, что есть. Плюс к всему на каждую категорию исходного файла у меня еще куча преобразований до того вида что мне требуется.

Вот два рабочие файлы (st-style.xlsm - выгрузка з парсера, Категории_STStyle.xlsm - мой файл), один берет данные с второго, вносит изменения и выдает готовый результат в последнем листе для загрузки товара на мой сайт.

Поиск позиции столбца в списке
 
Изменил описание, думаю так будет понятнее. )

Цитата
IKor написал: Например, функция =ПОИСКПОЗ("Артикул";Строка_заголовков_таблицы_1;0)
Вот с этого я и начал, но зашел в тупик.
Код
=ПОИСКПОЗ("Цена";'1'!A1:N1;0) – находит позиция столбца = «5»

Дальше я с помощью =ВПР и таблицы с данными: если «1» значит столбец «А», «2» - «B» и тд.
получаем с «5» - столбец «Е».
И как это все теперь запихнуть в мои формулы?

Код
возвращаемого функцией СТРОКА().

Строка мне не нужна. Первая строка перечень категорий, по которым мы ищем.
Данные который нам нужно брать начинаются с 2-й.
Поиск позиции столбца в списке
 

Исходный файл (выгрузка товара с парсера) и его нужно переделать под мои требования.
Проблема в том что в исходном файле столбцы с данными могут сдвинутся, например сегодня категория "Цена" в столбце "Е" завтра в столбце "Н" и так соответственно сдвинется все остальные данные.

Вот пример файла, представим что лист "1" это исходный файл, а лист "2" - мой файл в котором формулы ссылается на исходник и берет данные оттуда.
Возможно ли сделать так чтобы когда в исходном файле столбцы  с категориями сдвинутся или поменяются местами формула в файле "2" находила нужную мне категорию и возвращала мне правильный столбец.
То есть сейчас в прилепленном файле в исходнике категория с ценой находится в столбце "Е" в моем файле соответственно формула выглядит: =ОКРУГЛТ('1'!E2;5)+100, но завтра "Цена" будет например в столбце "Н" и мне придется вручную менять формулу в своем файле на: =ОКРУГЛТ('1'!Н2;5)+100.
Как это автоматизировать?

Заранее спасибо за помощь.

Найти несколько значений в одной ячейки и подставить нужные данные с массыва
 
Есть мысль, разделить данные по столбцам (с помощью формул), что бы можно было работать с каждым значением индивидуально, сделать подмену исходя из массива, ну и в конце сцепить все.
Пока не уверен что сделаю, буду пробовать.
Найти несколько значений в одной ячейки и подставить нужные данные с массыва
 
Вариант не плохой, но есть пару нюансов. Почему я написал именно из массива, так как будут еще данные типа "44-50" в этом случаи нужно что бы были не только 44 и 50, а и промежуточный результат - 46 и 48. Плюс будут данные типа S,M,L (размерная сетка одежды), которую нужно заменить на - 42,44,46 соответственно.
Спасибо за пример.
Найти несколько значений в одной ячейки и подставить нужные данные с массыва
 
Есть несколько данных разделены определенным знаком (";" можно сразу заменить на "СИМВОЛ(10)") в одной ячейке, которые нужно найти и подставить(заменить) данными из массива.
Полученный результат проверить на дубли и удалить их.
Пример в файле.

Заранее спасибо!
Извлечение нужного количества символов из текстовой строки
 
Спасибо, работает!
Извлечение нужного количества символов из текстовой строки
 
Стоит задача в ячейках найти определенный текст который может частично отличатся по всему столбцу и заменить ("") или удалить (можно даже сказать убрать лишнее). Кроме этого в каждой ячейке по несколько строчек.

Это просто работает с помощью Ctrl+F (найти и заменить) в место определенных значений поставить - ***
А как это сделать только при помощи формулы?
Пример в файле.
Заранее спасибо!
Копирование\перемещение файлов по списку
 
Всем большое спасибо за помощь в частности  - Моти! Все работает!
Да и мой макрос тоже подпилил и заработал!  :) Внес изменения по совету РЕНАТа и Jungl - спасибо Вам!
Перенес 3200 файлов за 2 сек)))  8)

Вот рабочий макрос: (да и не забываем включить - Windows Script Host Object Model)
Код
Sub Сортировка2_перенос_файлов_по_перечню2()
'раннее связывание, требуется ссылка на
'модель Windows Script Host Object Model
Dim i As Long
Dim ActWB As Workbook
Dim avInp(), FSO As FileSystemObject, fl As File
Dim Stolbec As Integer
Dim StrokaOtsch As Integer
Dim NameFile() As String
Dim FoldPth, NewFolder1, NewFolder As String
Dim ki As Long
Dim Fiyli() As String

Application.ScreenUpdating = False

Set ActWB = ActiveWorkbook

NewFolder = Application.InputBox("Укажите имя папки, в которую необходимо перенести файлы", "Имя новой папки", _
"Файлы из списка")
Stolbec = Application.InputBox("Укажите номер столбца, в котором находятся наименования файлов", "Номер столбца", _
"1")
StrokaOtsch = Application.InputBox("Укажите номер строки, в которой находится шапка таблицы", _
"Номер строки", "1")
i1_n = Cells(Rows.Count, Stolbec).End(xlUp).Row
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Папка для работы с файлами"
    .ButtonName = "Select": .AllowMultiSelect = False
    If .Show Then FoldPth = .SelectedItems(1) Else Exit Sub
End With

If NewFolder = "" Then
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Папка файлов по списку"
        .ButtonName = "Select": .AllowMultiSelect = False
    If .Show Then NewFolderPath = .SelectedItems(1) Else: Exit Sub
    End With
Else
NewFolderPath = FoldPth & "\" & NewFolder & "\"
End If

Time_1 = Timer
If Right(NewFolder, 1) <> "\" Then NewFolder = NewFolder & "\"
If Right(FoldPth, 1) <> "\" Then FoldPth = FoldPth & "\"

ReDim NameFile(i1_n - StrokaOtsch)
For i1 = 1 To i1_n - StrokaOtsch
    If Cells(StrokaOtsch + i1, Stolbec) <> "" Then
    n = n + 1
    NameFile(n) = Cells(StrokaOtsch + i1, Stolbec)
    End If
Next i1
ReDim Preserve NameFile(n)
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO
        If Not .FolderExists(FoldPth & NewFolder) Then .CreateFolder FoldPth & NewFolder
        'создание каталога
    With .GetFolder(FoldPth)
        If .Files.Count = 0 Then MsgBox "Файлов в указанном пути не найдено", 48: Exit Sub
        'проверка наличия файлов
        
        ReDim Fiyly(.Files.Count)
            For Each fl In .Files
                ki = ki + 1
                Fiyly(ki) = fl.Name
            Next fl
        
            For i = 1 To UBound(Fiyly)
            For i1 = 1 To n
                If Fiyly(i) = NameFile(i1) Then
                kol = kol + 1
                FSO.MoveFile FoldPth & NameFile(i1), NewFolderPath
                End If
            Next i1
            Next i
    End With
End With
time_ = Time_1 - Timer
Time_delta = Format(time_ / 24 / 60 / 60, "hh\ч mm\м ss\с")
Application.ScreenUpdating = True
MsgBox ("Выполнено за " & Time_delta & Chr(13) & "Количество перемещённых файлов :" & kol)
End Sub
Копирование\перемещение файлов по списку
 
Вот ссылка ТИЦ

В каталоге  IN - все файлы
Из него нужно разбросать файлы согласно спискам:
Производитель 1.xlsx  - все имена фото в этом файле должны быть в каталоге "Производитель 1"
Производитель 2.xlsx  - все имена фото в этом файле должны быть в каталоге "Производитель 2"

Ваш первый макрос работает так как мне нужно, но очень медленно.
У меня в папке IN - будет 15000 фото и разбросать их по нескольких каталогах займет больше 1,5 часа.  
Изменено: AGuk - 08.07.2016 00:20:09
Копирование\перемещение файлов по списку
 
Цитата
Мотя написал: Как Вы строите списки по производителям?
С сайта я выгружаю весь товар - экспорт в ексель и уже в нем я фильтром выделяю нужный мне производитель и копирую имена файлов именно одного производителя, потом фильтрую второго - копирую, ну и тд
Копирование\перемещение файлов по списку
 
Цитата
Мотя написал: Какова цель удаления по списку?
Цель не удалить, а разделить 15000 фото по каталогам исходя с списка.
Мне подходит и первый вариант Вашего макроса, ну он долго обрабатывает.

Сначала я беру первый список в котором 2500 имен фото и ищу (копирую/перемещаю) их в 15000 фото
Потом второй список 5000 имен фото и опять же ищу (копирую/перемещаю) их в 15000 фото (в этом же каталоге, в случаи перемещения будет уже меньше на 2500 фото так как первого списка здесь не будет)
Ну и так далее с остальными списками!
Изменено: AGuk - 13.07.2016 23:59:00
Копирование\перемещение файлов по списку
 
Мотя, а можно сделать так что бы файлы он удалял в корзину?
Копирование\перемещение файлов по списку
 
Как вариант.
ну в этом случаи мне придется делать несколько копий всех файлов, так как из них я выделяю несколько разных списков!
Пример, буду говорить как есть:
У меня есть интернет-магазин женской одежды.
В нем несколько производителей.
Все фото с сайта находятся можно сказать в одном каталоге и их там около 15 000.
Вот теперь мне нужно с 15 000 вытянуть фото разных производителей в разные каталоги.
Список имен файлов соответственно у меня есть каждого производителя:
Производитель 1 - 2500 фото
Производитель 2 - 5000 фото
Производитель 3 - 6000 фото
Производитель 4 - 1500 фото

Вот макрос я проганяю в каталоге с 15000 файлов четыре раза
Изменено: AGuk - 07.07.2016 23:36:05
Копирование\перемещение файлов по списку
 
Цитата
Jungl написал:
Изначально в посте ТС в коде было MoveFile, сейчас речь идет о Copy. Возможно из-за этого время увеличивается?
Как по мне, то без разницы копировать или переносить.
Да и еще раз повторюсь я работаю на SSD диске и думаю разницы в копировании или перемещении файла размером в 200Кб не будет!
Копирование\перемещение файлов по списку
 
Цитата
Мотя написал: Что значит - лучше?
Ну в первом случаи, когда я буду искать в большом количестве файлов, я буду хоть видеть что он работает и копирует  файлы.
А вот второй - напрочь зависает и я так понимаю пока все не обработает его не попустит, а при таком количестве он может и час висеть что не удобно.
Копирование\перемещение файлов по списку
 
Вот попробовал на не большем количестве около 100 файлов, работает ну опять же долго и этот в отличии первого варианта сначала что то долго думал и потом выдал сразу весь результат, я так понял он сначала ищет все совпадающие и потом все сразу копирует.
Первый вариант лучше работает, нашел файл из списка - скопировал.
Копирование\перемещение файлов по списку
 
Размер файлов 50-300Кб
Весь размер папки с файлами в которой нужно искать - 1,25Гб (9600 файлов)
Изменено: AGuk - 13.07.2016 23:57:10
Копирование\перемещение файлов по списку
 
кнопка цитирования не для ответа [МОДЕРАТОР]

Выбрал найти 2000 файлов из списка в папке с 10 000 файлов - завис ексель вместе с проводником(
ни одного файла не скопировал.
На первоначальном при таком количестве запросов тоже завис - ну пока снимал задачу скопировал 60 файлов.
Копирование\перемещение файлов по списку
 
Вот ссылка на источник: ТИЦ
Копирование\перемещение файлов по списку
 
Цитата
VideoAlex написал: Макрос который выложили вы пока не переместил вам ни одного файла
Дело в том что я уже этим макросом раньше пару раз пользовался и он как не странно работал! Тогда 3000 файлов перенес за пару секунд.
Чего сейчас не работает сам не пойму!
Я уже и первоначальный источник нашел от куда я его и брал, все равно не работает.
Файлы (изображения) не большие 150-400 Кб, да и я особо не обращаю на это внимания так как у меся SSD диск)
Копирование\перемещение файлов по списку
 
Цитата
Мотя написал: Вам придется тестировать на реальной информаци
У меня все подготовлено для этого! Я и тестирую уже на реальных рабочих файлах)
Уже перебрал 3700 файлов, полет нормальный.
Изменено: AGuk - 13.07.2016 23:55:02
Копирование\перемещение файлов по списку
 
Спасибо большое и за этот макрос!  Ну хотелось бы ускорить!  :)
Изменено: AGuk - 07.07.2016 21:31:53
Копирование\перемещение файлов по списку
 
Цитата
VideoAlex написал: Если бы вы начали тогда когда вам дали макрос то к тому моменту когда вы написали "медленно" вы бы уже давно закончили
Я конечно, извиняюсь, но мне нужно перелопать 15к изображений и выбрать из них примерно 9к это примерно получается полтора часа!
Если им пользоваться раз в месяц  то можно и подождать, а я планирую раз в день, то как то многовато времени занимает!
Спасибо большое и за этот макрос!
Копирование\перемещение файлов по списку
 
Работает, ну очень медленно, 2 файла в секунду.
Ускорить есть возможность?
Макрос который я выложил, писали что за пару секунд 5000 файлов переместил.
Страницы: 1 2 След.
Наверх