Страницы: 1
RSS
Просуммировать первые 30 и 100 значений в одном и том же столбце в 300 разных файлах
 
Добрый день!

У меня есть около 300 файлов. Все они называются по категории товаров (Коньки, Ролики, Попоны и т.д.)

В каждом файле идентичное кол-во столбцов, их порядок и название.

Нужно из каждого столбца просуммировать первые 30 значений (K2:K31) и первые 100 значений (K2:K101)/

Просуммированные значения поставить в таблицу, где названия всех категорий (название категории.xlsx).

Нужен именно метод, чтобы вставляя разные наименование категорий, я могла туда подтягивать суммы. Буду очень признательна (посильное вознаграждение обсуждается!)
 
Добрый день! Выглядит как задача для Power Query. Кажется, можно кнопками получить решение. Распакуйте архив, сложите файлы в папку исходники. Затем откройте файл "Наименования категорий", убедитесь, что путь на листе Настройка прописан верно, потом обновите таблицу на листе Данные. Если нужно иное количество строк поправьте число на листе Настройка.
 
Цитата
написал:
Добрый день! Выглядит как задача для Power Query. Кажется, можно кнопками получить решение. Распакуйте архив, сложите файлы в папку исходники. Затем откройте файл "Наименования категорий", убедитесь, что путь на листе Настройка прописан верно, потом обновите таблицу на листе Данные. Если нужно иное количество строк поправьте число на листе Настройка.

Прикрепленные файлы
Сумма по категориям.rar  (45.68 КБ)
Здравствуйте!

Спасибо за такой быстрый ответ!

1 момент - Я сделала, как Вы написали, но у меня грузятся только две категории - лыжы для самоката и попоны.
В чем проблема?
При чем когда я иду в Запрос -> изменить
То в предпросмотре как будто есть все категории (см.приложенные скриншоты)

2 момент - я из предпросмотра копирую данные. Когда первые 30 значений, то там 336 категорий. Когда выбираю первые 100 значений - у меня данные только по 200 категориям. Например, экспандеры - топ 100 не посчитались, увы.
Изменено: Екатерина Ковригина - 23.05.2023 01:54:02
 
На мой взгляд, тут комплексная задача больше для раздела "Работа" подходит. Нюансов много. По примерам видно, что таблицы в файлах не однородны, соответственно просто так текстовкой все не описать. Решать нужно следующие проблемы:
1. объединить разнородные таблицы-факты в одном месте и загрузить их в Power Query
2. связать их с таблицей-справочником "название-категории".
3. создать сводную таблицу.

Успехов
Изменено: Vladimir Ch - 23.05.2023 07:20:44
 
Добавил в файл проверку на максимальное количество строк, если их меньше ста, считаем сумму всех что есть. Возможно это поможет со вторым моментом.
 
положите файл в ту же папку, где лежат файлы c хитами продаж,
открывайте файл, жмите кнопку (в колонке Д написано, если в данных было мало строк)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Екатерина Ковригина, список категорий- в таблицу с колонкой Column1, а в запросе пропишите ваш путь к папке с файлами.
Код
let
    Source = List.Buffer(Excel.CurrentWorkbook(){[Name="Table1"]}[Content][Column1]),
    folder = 
        Table.Buffer(
            Table.SelectRows(
                Folder.Files("ваш_путь_к_папке_с_файлами"), 
                (x) => List.AllTrue({x[Attributes][Kind] = "Excel File", x[Attributes][Hidden] = false})
            )
        ),
    f = (cat as text) =>
        let 
            file = 
                try 
                    List.Buffer(
                        Table.PromoteHeaders(
                            Excel.Workbook(
                                Table.SelectRows(folder, (x) => Text.Contains(x[Name], cat))[Content]{0}
                            )[Data]{0}
                        )[#"Выручка по заказам, ₽"]
                    )
                otherwise null,
            out = if file = null then null else [cat = cat, #"30" = List.Sum(List.FirstN(file, 30)), #"100" = List.Sum(List.FirstN(file, 100))]
        in out,
    txf = Table.FromRecords(List.RemoveNulls(List.Transform(Source, f)))
in
    txf
Пришелец-прораб.
 
Alien Sphinx, здравствуйте!

Почему-то возникли ошибки в файле. Помогите, пожалуйста, их поправить!
1 ошибка - При запуске кода ниже excel выдает ошибку: [Expression.Error] Не удается преобразовать значение null в тип Text.
2 ошибка - почему-то выгружает значение по 20 файлам, хотя там список из 86 категорий.

Пару файлов как пример прикладываю + сам файл.
Изменено: Екатерина Ковригина - 02.07.2023 00:40:11
 
Просто ради интереса - а чем не устраивает решение макросом в сообщ. 6?
 
Цитата
Marat Ta написал:
Просто ради интереса - а чем не устраивает решение макросом в сообщ. 6?
Там не учтены кальсоны и бандалетки )
Изменено: testuser - 30.06.2023 05:32:04
 
Екатерина Ковригина, здравствуйте
Цитата
Екатерина Ковригина написал:
1 ошибка
таблица с категориями зачем то содержит пустые ячейки. Поменяйте первую строку кода на вот это
Код
Source = List.Buffer(List.RemoveNulls(Excel.CurrentWorkbook(){[Name="Table1"]}[Content][Column1])), 

Цитата
Екатерина Ковригина написал:
2 ошибка
а вы в файлы просмотрите - там нет колонки с выручкой, вот считать и нечего. Бюстгальтеры не покупают, в частности.
Когда вы бюстгальтеры продавать начнете, негодяи?  :D
Изменено: Alien Sphinx - 01.07.2023 00:14:05
Пришелец-прораб.
 
У вас файлы в начале темы отличаются от последних примеров. И еще вопрос - надо сумму первых 30,100 строк, или первых 30, 100 максимальных значений?
 
Marat Ta, у меня ошибка там выпадает  :(
Не удаётся выполнить макрос "название категории.xlsm'!Calc30100". Возможно, этот макрос отсутствует в текущей книге либо все макросы отключены.
 
Екатерина Ковригина,  Вы с правилами знакомились, Что там говорится о суммарном размере прикрепляемыъ файлов?
 
Юрий М, поняла. 300 мб это же на сообщение, не тему? Тогда я поправила.
 
Не  мегабайты, а килобайты ))
 
Цитата
написал:
Не удаётся выполнить макрос "название категории.xlsm'!Calc30100". Возможно, этот макрос отсутствует в текущей книге либо все макросы отключены.
А включить в настройках макросы не пробовали?
 
Ігор Гончаренко, Игорь, здравствуйте!
В выгрузках изменилось имя файлов. раньше они все начинались на "Аналитика-хиты продаж_", а теперь по другому.
Я попыталась поменять в макросе, но выдает ошибку 432. Не могли бы подсказать, что не так?
Пару новых файлов прикрепляю к письму. Заранее благодарю!
 
Цитата
попыталась поменять в макросе, но выдает ошибку 432
У вас в названиях файлов после года стоит нечитаемый пробел, уберите во всех файлах
Страницы: 1
Наверх