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

Страницы: 1
VBA. Оставить на листе только таблицу, удалив лишние строки и столбцы
 
Добрый день!
Приходится начинать изучать VBA ))). Мне нужно с помощью макроса очистить лист от лишних строк и столбцов. В данном случае это выгрузка из 1с. Мне нужно удалить верхние строки до шапки таблицы и удалить пустые столбцы. Как удалить заданное количество строк, я нашел. Но хотелось бы, что бы количество строк для удаления было не статичным числом, а динамическим. Так как очень часто при выгрузке из 1с количество не нужных строк может меняться. Для себя я определил следующий план действий: необходимо найти слово (слово сочетание) из шапки таблицы, узнать номер строки и удалить удалить количество строк, которое будет равно номер строки-1. Трудность возникла в том, что слово (слово сочетание) из шапки таблицы так же встречается в не нужных строках выше таблицы. Перерыл много примеров, но к сожалению, не нашел ответа, как получить все номера строк с искомым текстом. Возможно, я избрал не верный метод. Прошу помочь в решении данного вопроса или ткнуть в тему, где возможно это уже решалось.
Спасибо!
PQ Сравнить знаки двух чисел
 
Добрый день! При анализе ДЗ КЗ столкнулся с необходимостью сравнить знаки двух чисел. Это связано с тем, что в отчете ДЗ и КЗ отличаются знаком, т.е. если знак "+", то это ДЗ, а если "-", то это КЗ. При этом за период ДЗ может превратиться в КЗ и наоборот. На начало месяца сумма положительная, а на конец периода - отрицательная. Сравнение знаков необходимо для дальнейших расчетов. Можно конечно прописать через If Then Else, но запись получается очень длинная. Подумал, может знатоки знают, как сравнить именно знаки, а именно одинаковые они или разные. Файл не прикладываю, так как вопрос теоретический.  
Перевернуть верхнюю таблицу на листе вверх ногами
 
Добрый день! Существует печатная форма (дали в виде распечатанного экземпляра), на которой две таблицы для заполнения. При этом верхняя таблица перевернута "вверх ногами". Возможно лист должен складываться пополам. На просторах интернета не смог найти как такое осуществить. В экселе и ворде можно повернуть текст на 90 или -90 градусов. Подскажите, пожалуйста, возможно ли такое осуществить в Excel. Пока вопрос решается через распечатку отдельно каждой таблицы.  
Изменено: Andrey_S - 23.12.2024 09:32:45
PQ Определить вид договора по условию
 
Добрый день!  Есть таблица с перечнем договоров. В названиях столбцов указан вид договора, а в ячейках признак Да или Нет. Так же есть дополнительный столбец с другим признаком договора. Необходимо добавить  столбец с указанием вида договора по условию, что если в каком-либо из столбцов указано "Да" - взять вид договора из названия столбца, если во всех столбцах "Нет" - взять вид договора из столбца с дополнительным признаком. Можно конечно прописать через If then else, но если добавятся другие виды - нужно будет переписывать запрос. Так же смотрел в сторону UnPivot, но пока "допилить" не получается. Прошу подсказать оптимальное решение.
Изменено: Andrey_S - 28.11.2024 14:52:25
Объяснить каждую строку кода макроса удаления пустых строк, Помогите разобраться в коде
 
Добрый день, уважаемые форумчане!
В VBA пока не силен, но приходится разбираться. Есть макрос, который удаляет преобразует файл структурированной выгрузки из 1с. Мне не понятен принцип работы данного макроса. С начальными операторами я разобрался, что сначала мы удаляем верхние строки, удаляем первый столбец. А вот далее понять пока не могу. Распишите, пожалуйста, что делает каждая строка кода. Спасибо!
Код
  Sub adv_PEOPLE(opnSH)
        
            opnSH.Cells.ClearOutline
            
            opnSH.Rows("1:6").Delete
            opnSH.Columns(1).Delete
            
            ix = 1
            NullRowCount = 0
            While NullRowCount < 7
                nnlc = 0
                For iCol = 1 To 15
                    If opnSH.Cells(ix, iCol) <> "" Then nnlc = nnlc + 1
                Next
                If nnlc = 0 Then
                    opnSH.Rows(spltnRows(ix, ix)).Delete
                    NullRowCount = NullRowCount + 1
                Else
                    NullRowCount = 0
                    ix = ix + 1
                End If
            Wend
            
            opnSH.Rows("1:1").Insert Shift:=xlDown
            rgvset opnSH, "A", 1, "ФИО"
            rgvset opnSH, "B", 1, "Должность"
            rgvset opnSH, "C", 1, "Департамент / Дирекция"
            rgvset opnSH, "D", 1, "Подразделение"
            rgvset opnSH, "E", 1, "Струртурная единица"
            rgvset opnSH, "F", 1, "Вид трудоустройства"
            
            opnSH.Columns("F:F").Insert Shift:=xlToRight
            opnSH.Columns("F:F").Insert Shift:=xlToRight
            ixend = GetLastRow(opnSH)
            For ix = 1 To ixend
                rgvset opnSH, "F", ix, rgv(opnSH, "B", ix)
                rgvset opnSH, "G", ix, rgv(opnSH, "A", ix)
            Next
            opnSH.Columns("A:A").Delete
            opnSH.Columns("A:A").Delete
        
    End Sub
Изменено: Sanja - 19.11.2024 16:44:45
PQ Определение текущего остатка для каждой строки ведомости
 
Добрый день!
Столкнулся с ситуацией, что 1с не так ка мне необходимо отображает конечный остаток для каждой строки при формировании ведомости. В примере это видно.
Хочу построчно определить остаток: остаток (предыдущая строка)+приход-расход.
Так как таблица большая (много номенклатур) решил попробовать через List.Generate, за основу взял пост вот отсюда. Но так как опыта мало, List.Generate не дается.
Прошу помочь с решением данной задачи. И если ГУРУ не сложно, ткните носом - что я прописываю не так.
PP расчет оборота ДЗ для двух графиков с разным контекстом
 
Добрый день!
В рабочем отчете две вкладки. На одной данные по компании в целом, на другой со срезами по департаментам.
Написал меру, которая рассчитывает оборачиваемость ДЗ и КЗ. Для общего графика мне нужно учитывать все данные по компании, а для графика по департаментам мне нужно, что бы по определенным департаментам график НЕ выводил данные или проставлял нули. В примере есть таблица с департаментами, которые нужно исключить.
Подскажите, пожалуйста, как прописать меру (если это возможно), что бы для общих брались данные по всем департамента, а для графика со срезом, определённые департаменты исключались. Или для второго графика писать отдельную меру?
Спасибо!
Изменено: Andrey_S - 10.12.2021 11:49:43
Макрос - скопировать данные из книг в одной папке с сохранением структуры
 
Добрый день!
В макросах совсем не селен (скопировать и запустить могу, а вот написать - нет), поэтому обращаюсь к Вам.
Есть папка, в которой сохранены оборотки по разным счетам. Необходимо скопировать их в одну книгу с сохранением структуры и если возможно свернуть группировки. Расстояние между скопированными данными 2-е строки. Сейчас это проделывается обычным копированием строк и вставкой в книгу. Файлов в папке может быть разное количество. Обычное копирование занимает массу времени.
Прошу помочь в решении данного вопроса или ткнуть в ножное направление.
DAX Расчет продаж относительно даты прихода остатков и склада
 
Добрый день!
Анализирую остатки. Определяю как долго остатки находятся на складах. Так же необходимо показать продажи этих остатков. Загвоздка в том, что на данном этапе я не понимаю, как написать меру, что бы из данных по продажам брались только те продажи по позициям, которые есть на остатках. Т.е. учесть дату поступления и склад. Сейчас я решил этот вопрос тем, что в PQ приджойнил таблицу с продажами к таблице с остатками по коду номенклатуры, дате приходу и складу.
Подскажите, пожалуйста, как прописать меру (или переделать модель данных).
Спасибо!
PQ Фильтрация вложенной таблицы на основе внешней
 
Здравствуйте, форумчане!
Мне необходимо отфильтровать сгруппированную таблицу на основании данных из строки, в которой находится эта таблица. То есть, есть остатки на дату 01.06.2021, 01.05.2021 и т.д. Для каждой строки с датой остатков сгруппирована таблица по движению этой позиции за период. Мне нужно, что бы в сгруппированной таблице осталось только последние 12 месяцев от даты во внешней таблице.
На просторах интернета, когда-то нашел вот такой код:
Код
let
    FactTable = Fact,
    CategoryTable=Table.Buffer(Category),
 
    SegmentColumn = 
        Table.AddColumn(
            FactTable, "Category",             
            (OuterVariable)=>            
                Table.SelectRows( 
                    CategoryTable, (InnerVariable) => 
                        Text.Contains( OuterVariable[Product] , InnerVariable[BrandName] )
                )
            )
in
    SegmentColumn
Но как он там применялся уже не помню. Применить его для своего случая у меня не получилось.
Прошу помочь в решении данного вопроса!
PQ среднее значение по каждым двум строкам (без индекса)
 
Здравствуйте, форумчане!
Есть файл, где нужно рассчитать среднее по каждым двум строкам. Я делаю это через добавление столбца индекса. Данный запрос на большом количестве строк очень тормозит. Как пояснили мне Гуру данного форума, именно метод индекса создает большие тормоза.
К сожалению, через поиск по форуму не нашел подобных решений (как я понимаю, поиск сейчас практически не работает).
Покажите, пожалуйста, как правильно написать запрос для решения такой задачи.
Спасибо!
PQ объединить столбцы с разделителем перенос строки и динамическим отступом для каждой строки
 
Добрый день!
Есть плоская таблица, где для каждого МБП прописана его  иерархия нахождения (Уровни).
Руководство хочет видеть эти уровни в одной ячейке, при этом каждый последующий уровень должен быть на следующей строке с отступом в 3 пробела.
Уровней может быть разное количество. Пример во вложении.
Прошу помочь в решении данного вопроса
PQ Повысить заголовки из второй строки оставив первую
 
Добрый день!
Собираю данные из файлов, создаваемых другими сотрудниками. Повлиять на структуры заполнения нет возможности.
Суть проблемы: мне нужно поднять в заголовки вторую строку, при этом оставив первую. Однако во второй строке есть повторяющиеся значения (план, наценка), что мешает мне сразу переименовать столбцы  используя List.Zip. Во вложении пример и вариант того, как мне удалось это сделать. Думаю, что это далеко не самый оптимальный вариант, так как опыта у меня не много.
Прошу помочь в решении данного вопроса.
PQ Фильтрация таблицы по статусу и дате по условию
 
Добрый день!
Обработав данные, получил таблицу основных средств где указан статус ОС и месяц изменения статуса. Теперь необходимо удалить строки если: 1. В одном месяце было несколько статусов - оставить последний (т.е. 01.03.2020 - в эксплуатации; 01.03.2020 - Товар; 01.03.2020 - Продан  - Необходимо оставить строку со статусом продан); 2 - так же необходимо оставить только одну строку со статусом "продан" или "списан" (т.е. 01.03.2020 -Продан, 01.04.2020- продан, 01.05.2020 - продан - оставляем только строку "01.03.2020 - продан", последующие удаляем.
Прошу помочь в решении данной задачи или направить в какую строну копать. Спасибо!
PQ Добавление столбца если данные содержат текст, по справочнику, по условию
 
Добрый день!
Есть маршрутные листы, в которых прописан маршрут. Например, "Клин - Волоколамск - Санкт-Петербург - Волоколамск". Для этих маршрутов необходимо добавить направление, т.е. если в маршруте содержится город Москва или Волоколамск то это направление Мск.
Проблема заключается в том, что в одном и том же маршруте может быть два "ключевых" города. По условию, сначала проверяем на наличие Москва или Волоколамск, затем на наличие Санкт-Петербург, на последок проверяем Ростов-на-Дону. Если есть и Москва и Питер, то ставим Мск. Если и Питер и Ростов, то Спб.
На форуме нашел решение через List.Accumulate. Добавил три справочника, и решаю через три условных столбца.
Подскажите, пожалуйста, возможно ли более простое решение данного вопроса?
PQ Произвести расчет используя ячейки разных столбцов сгруппированной таблицы
 
Добрый день!
Столкнулся с задачей посчитать плановый расход медных жил при производстве провода на основании данных о плановых показателях медной катанки. (Из катанки производится медная жила, а уже из жил делаем кабель). Мне нужно "Количество материал план на КМ" катанки разделить на "Норма вес1км" Жилы по каждому производству. В каждом производстве используются также другие материалы, соответственно количество строк для каждого производства может быть разным. Как я понимаю,  мне сначала нужно сгруппировать таблицу по производствам и уже внутри производить расчет. Вот только не понимаю, как дальше действовать. Прошу помочь в решении данного вопроса или подсказать в каком направлении двигаться. Пол дня сижу, на ум ничего толкового не приходит.
PP Динамика количества SKU на основании данных о продажах с фильтрацией по виду склада
 
Здравствуйте, уважаемые форумчане!
Пытаюсь осваивать PoverPivot, пока очень трудно).
Для анализа запасов строю диаграмму по продажам с фильтрами по типам складов и территориям. Так же необходимо показать количество SKU, которое продавалось и которое было на складе. Но количество SKU нужно показывать не по всем складам, а только по основному и транзитному (склад некондиции убрать). При этом объединить склады, то есть показать сколько всего было (продавалось) SKU на обоих складах. Как я понимаю, нужно удалить дубликаты, что бы не было задвоения позиций. Подскажите, пожалуйста, возможно ли эти две диаграммы строить по одной таблице данных и как правильно прописать меру для подсчета количества.
Удаление строк из таблицы если сумма по строке 0 в Power Query
 
Здравствуйте!
Собираю данные за год по номенклатуре. В итоге получается таблица с продажами и остатками помесячно.
Возникла необходимость удалить позиции, по которым сумма остатков и продаж равна 0.
Название столбцов динамическое, меняется каждый месяц, поэтому привязаться к ним не могу.
Подскажите, пожалуйста, как правильно прописать удаление таких строк.
Спасибо!
Переименовать столбец содержащий определенный текст PQ
 
Добрый день!
Из 1с выгружаются данные. Несколько файлов. При этом, в одном случае столбец называется "Документ движения (регистратор).Направление продаж", а в другом "Регистратор. Направление продаж".  Что бы избежать ошибок, при фильтрации таблицы хочу переименовать данный столбец. Для этого через Table.Profile нахожу список имен столбцов, фильтрую строки, чтобы содержала "Направление продаж". На следующем этапе хочу удалить все другие столбцы, кроме столбца со списком имен столбцов. После Table.SelectColumns у меня почему-то остается пустая таблица. При этом, как мне кажется, ранее этот метод в других файлах работал.
Подскажите, пожалуйста, в чем здесь ошибка. Если есть более простой метод решения вопроса переименования столбцов, подскажите, пожалуйста.
Расчет среднемесячной задолженности по департаментам и общей для определения оборачиваемости, Power Query
 
Добрый день!
Для определения оборачиваемости по ДЗ и КЗ собрал таблицу, в которой есть выручка по месяцам по департаментам и дебиторская/кредиторская задолженность на начало месяца так же по департаментам. Для расчета оборачиваемости мне необходимо определить среднемесячную ДЗ/КЗ по департаментам и общую. Для первого месяца (января) средней ДЗ нет. Для второго - (январь+февраль)/2, для третьего соответственно - февраль+март/2.
Как я понимаю, для определения средней ДЗ по департаментам, мне нужно сгруппировать данные по департаментам и уже в группировке запускать вычисление. Вот только с написанием функций у меня пока слабовато. Хотя возможно данную задачу можно решить каким то другим путем.
Прошу помочь в решении данного вопроса.
Спасибо!!!
Отсортировать месяца сезона продаж без разрыва и представить в виде первый-последний
 
Добрый день!
Из 1с вытягиваю таблицу сезонности по товарам. Месяца идут последовательно январь-декабрь.
Сезонность у товаров разная, где-то - лето, где-то зима.
У зимних товаров сезонность представлена: январь, февраль, сентябрь, октябрь, ноябрь, декабрь.
Помогите отсортировать месяца по порядку сезона - сентябрь, октябрь, ноябрь, декабрь, январь, февраль
И представить в виде интервала сентябрь - февраль.
Спасибо!
Изменение даты на предыдущую в запросе PQ на курс валют ЦБР если нет данных
 
Добрый день!
Собираю данные по курсам редких валют с ЦБР.
По этим валютам отсутствуют данные на определенные даты. Как правило, это выходные. От выходных я избавился.
Однако, оказалось, что нет данных в период с 30 марта по 05 апреля. И, возможно, такое может повториться в будущем.
Подскажите, пожалуйста, как изменить запрос, что бы при отсутствии данных на определенную дату, запрос искал первую раннюю дату с  данными.
Создание иерархии из данных в строке PQ
 
Добрый день!
Из 1С выгружаю данные с иерархией в строке. Т.е. в первом столбце идет номенклатура, затем ее родитель, затем родитель родителя и т.д.
Уровней иерархии для каждой номенклатуры разное количество. Следовательно, первый уровень может быть и в 3-м столбце и в 5-м.
Необходимо, что бы после номенклатуры шел первый уровень, затем второй и т.д. Количество столбцов с иерархией должно остаться таким же.
Прошу помочь в решении данной задачи.
Изменено: Andrey_S - 28.05.2020 10:10:31
Страницы: 1
Наверх