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

Страницы: 1
Заполнение дат по условию из родительской строки
 
Ребята, всем добрый день.
Прошу вас о помощи, потому как треклятый искуственный интелект подсовывает разные нерабочие пользовательские функции по моему вопросу, а сам я не настолько эксперт в M
Суть в том, что нужно в файле из примера получить из левой таблицы правую в Power Query.
Количество пустых строк в левой таблице равно количеству месяцев родительской строки между колонками GulAb и GulBis.
Дата GulBis первой пустой строки равна аналогичной дате родительской строки, а дата в колонке GulBis концу месяца даты этого столбца родительской строки. Все пустые строки вплоть до даты в родительском столбце GulBis - это первый и последний месяц каждего последующего месяца. Последняя строка в столбце GulAb дата первого дня месяца а GulBis - дата родительской строки.
Подскажите, как это можно сделать в Power Query и можно ли ?) Всем спасибо заранее за помощь и хорошего дня
Получение определенных текстовых значений из столбца в Power Query
 
Коллеги, приветствую!
Поскольку в Power Query нет регулярных знаков, а следовательно и нет подстановочных знаков как * в Excel, столкнулся с проблемой не всех, а конкретных значений из соседнего текстового столбца по условию. Нужно получать эти значения именно в PQ, потому как там же планируется дальнейшая работа.
Во вложенном файле есть значения, которые начинаются либо с R, либо c A. Задача в том, чтобы в соседнем столбце (желаемый результат представлен в столбце B) напротив всех значений, начинающихся с А, проставить значение c R, которое стоит над ними. Соотевтственно, когда в столбце А доходим до следующего значения R*, проставляем его в соседнем столбце и так далее. Я пробовал дублировать столбцы и заменять значения, начинающиеся с А, на что-то иное, а потому заполнением вверх-вниз баловаться, но это ни к чему не привело, потому что сочетаний А????? может быть огромное количество, а подстановочных знаков нет...
Буду благодарен за совет, если кто сталкивался с подобной задачей
Последовательность обновления запросов с помощью VBA
 
Коллеги, добрый день. Вопрос такой. Есть 5 листов. На втором листе данные я получаю запросом в PQ c внешнего файла. Начиная с третьего листа данные на лист получаются запросом к таблице предыдущего листа. И на первом листе есть кнопка, при нажатии на которую все таблицы/соединения должны обновится.
Проблема в том, что первым обновляется таблица на последнем листе, которая самая маленькая, видимо из-за этого она первой и обновляется.
А это для меня плохо, потому как она должна обновляться последней, на ней выводятся итоговые данные. В идеале должно обновится соединение второго листа, потом третьего, потом четвертого и в конце пятого. Попытка вот таким кодом вручную задать порядок листов к успеху не привела, все-равно первой обновляется самая маленькая таблица.

Sub refresh_all()
ThisWorkbook.Worksheets(2).ListObjects("MasterData").Refresh
ThisWorkbook.Worksheets(3).ListObjects("Anzahl_Equipment_Data").Refresh
ThisWorkbook.Worksheets(4).ListObjects("Anzahl_Materialien").Refresh
ThisWorkbook.Worksheets(5).ListObjects("Liste_fьr_Arno").Refresh
End Sub

Подскажите пожалуйста, есть ли способ указать порядок обновления соединений, если их больше 1 в книге ?
Разделение значений одного столбца на несколько
 
Добрый день, уважаемые друзья.
Возможно для кого-то моя задача покажется простой, но я за день "гугления" как-то не нашел ее решения, а сам, естественно, не знаю как можно ее решить.
Суть в том, что есть 3 столбца. В первом наименование материала и по два дублирующихся значения для каждого материала, потому что в столбце "Qty" для каждого материала сначало идет количество, потом стоимость. Задача эти значения из столбца"Qty" разбить на 2 столбца и избавиться от дублей, в показано в табличке рядом...Чувствую, что это можно решить с помощью PQ, но не понимаб как, потому как там для обработки строк не такой большой набор встроенных действий...
Сведение столбцов с одним названием одной таблицы
 
Добрый день, друзья. Есть у меня такая задача, которая не поддается правильном решению со стороны моего скрипучего мозга)
Есть таблица. В таблице в столбцах значатся характеристики определенных агрегатов, а в строках, соотвественно, значения этих характеристик.
Проблема в том, что столбцов относительно много и они могут дублироваться. Почему они дублируются-отдельный разговор, пока просто примем это за аксиому. Более того, дублей может быть более одного. Задача состоит в том, чтобы дублирующиеся столбцы свети в один, заполнив значения с дублей в единый основной столбец, а потом ненужные дублирующиеся столбцы поудалять. Хоть столбцы и дублируются, но во всех дублирующихся столбцах будет только одно заполненное значение, которое нужно оставить в едином свободном столбце. Столбцы, которые не дублируются, трогать не нужно, а оставить как есть.

Я понимаю, что нужно писать макрос, понимаю, в принципе, и логику последовательности деятельности*, но сколько не бьюсь над его написанием, пока безрезультатно. Может кто сталкивался с подобной задачей, был бы рад любой подсказке...

*-логика примерно следующая:
1. Посчитать количество заполненных столбцов и поместить в переменную(пусть это будет n)
2. Создать переменную, в которой будет накапливаться количество дублированных столбцов(пусть это будет z)
3. Создать цикл с 1 по n-z, в котором обходить все столбцы и проверять есть ли дубли и сколько их(дублей, то есть поместить это количество в переменную z)
4. Когда такой столбец найден, запустить для него цикл с 1 по z, который будет обходить все строки столбца и проверять их на пустоту. Если пустота обнаружена, нужно тянуть значение строки с этим же номером из первого дублированного столбца. Если и он пуст, тянем со следуюй строки с этим номером со следующего дублированного столбца. Если нашли, выходим из второго цикла и идем на следующую итерацию основного цикла. Если ничего не найдено, то идем на следуюшую итерацию второго цикла (вложенного цикла) пока не обойдем все дублированные столбцы. Важно: после выхода с второго цикла(вложенного) нужно удалить все дублированные столбцы, кроме основного-того, в который мы переносили данные, если они были

Голову сломал, если честно...
Получение значений столбцов с нескольких листов
 
Ребятки, добрый день.
Помогите, пожалуйста автоматизировать 2 задачи, которые сейчас делаю ручками. Чувствую, это можно сделать, но пока не нашел ответа как :(
Первая задача
Есть несколько листов в одной книге. Мне нужно на новый лист со всех остальных листов получить значения с первой строки всех столбцов, где эти значения заполнены(пересечения столбца и строки не пустое). То есть иными словами мне надо получить все значения первой строки заполненных столбцов в массиве листов.
Я могу подсчитать и получить номера столбцов с помощью функции, а потом подставить этот массив в функцию Индекс для получения значений первой строки этих столбцов, но проблема в том, что на каждом листе разное количество столбцов...И поэтому в функции получения массива номеров столбцов диапазон каждого листа нужно менять вручную :cry: Можно как-то получить массив номеров заполненных столбцов листа ?
Здесь же вопрос-первым аргументом функции ИНДЕКС идет массив откуда брать данные. Какой будет синтаксис, чтобы в качестве этого аргумента указать массив листов? Чтобы не для каждого листа отдельно форматировать формулу, а получить данные одной формулой?
Если немного намудрил с описанием, напишу на человеческом для чего мне это нужно - есть N количество листов, на каждом листе есть заголовки(характеристики агрегатов). Количество заголовков-характеристик на каждом листе разное. Большинство статусов по листам совпадают, но есть и те, которые индивидуальны для каждого листа. Мне нужно на одном листе собрать все возможные заголовки-статусы и сделать список неповторяющихся, чтобы в будущем делать сводный лист по всем листам. Отсюда вытекает...
Вторая задача
Есть сводный лист со всеми возможными характеристиками агрегатов. Мне нужно по названию заголовка-характеристики получить все данные из столбцов других листов... Получается только в ручном режиме через сочитание функций ПОИСКПОПОЗ и ИНДЕКС, меняя аргументы для каждого листа. Но это очень много времени забирает, может умные люди подскажут как это правильнее сделать...? :oops:  
Изменено: Богдан - 29.06.2022 16:16:01
Страницы: 1
Наверх