Цитата |
---|
написал: обязательно? Вроде несложные формулы "ентосмогють":=ЕСЛИ(C2<>"";C2;ЕСЛИ(И(C2="";C1<>"");C1;КОНМЕСЯЦА(E1;0)+1))=ЕСЛИ(D2<>"";D2;МИН(КОНМЕСЯЦА(E2;0);ПРОСМОТР(7^8;D$1:[@GulBis])))Но ничего не имею против изучения языка "М" ;-)...было любопытно "сгенерить" таблицу одной формулой (2021+):дин.массив=LET(к1_;Tabelle1[Column1];к2_;Tabelle1[Column2];к3_;Tabelle1[GulAb];к4_;Tabelle1[GulBis];п_;ПОСЛЕД(ЧСТРОК(к1_));л_;п_/(к3_<>"");к3з_;ПРОСМОТР(п_;л_;к3_);к4з_;ПРОСМОТР(п_;л_;к4_);к3к_;КОНМЕСЯЦА(к3з_;п_-ПРОСМОТР(п_;л_)-2)+1;кк3_;(к3з_+к3к_+ABS(к3з_-к3к_))/2;к4к_;КОНМЕСЯЦА(кк3_;0);я_;ВЫБОР(ПОСЛЕД(;4);к1_;к2_;кк3_;ЕСЛИ(к4_="";(к4з_+к4к_-ABS(к4з_-к4к_))/2;к4_));я_) Прикрепленные файлы Example_.xlsx (14.16 КБ) |
Заполнение дат по условию из родительской строки
Заполнение дат по условию из родительской строки
02.03.2025 17:26:05
|
|||
|
Заполнение дат по условию из родительской строки
02.03.2025 17:23:10
![]() |
|||
|
Заполнение дат по условию из родительской строки
28.02.2025 17:31:25
Ребята, всем добрый день.
Прошу вас о помощи, потому как треклятый искуственный интелект подсовывает разные нерабочие пользовательские функции по моему вопросу, а сам я не настолько эксперт в M Суть в том, что нужно в файле из примера получить из левой таблицы правую в Power Query. Количество пустых строк в левой таблице равно количеству месяцев родительской строки между колонками GulAb и GulBis. Дата GulBis первой пустой строки равна аналогичной дате родительской строки, а дата в колонке GulBis концу месяца даты этого столбца родительской строки. Все пустые строки вплоть до даты в родительском столбце GulBis - это первый и последний месяц каждего последующего месяца. Последняя строка в столбце GulAb дата первого дня месяца а GulBis - дата родительской строки. Подскажите, как это можно сделать в Power Query и можно ли ?) Всем спасибо заранее за помощь и хорошего дня |
|
|
Получение определенных текстовых значений из столбца в Power Query
23.12.2022 09:00:15
![]() |
|||||
|
Получение определенных текстовых значений из столбца в Power Query
22.12.2022 17:45:42
Коллеги, приветствую!
Поскольку в Power Query нет регулярных знаков, а следовательно и нет подстановочных знаков как * в Excel, столкнулся с проблемой не всех, а конкретных значений из соседнего текстового столбца по условию. Нужно получать эти значения именно в PQ, потому как там же планируется дальнейшая работа. Во вложенном файле есть значения, которые начинаются либо с R, либо c A. Задача в том, чтобы в соседнем столбце (желаемый результат представлен в столбце B) напротив всех значений, начинающихся с А, проставить значение c R, которое стоит над ними. Соотевтственно, когда в столбце А доходим до следующего значения R*, проставляем его в соседнем столбце и так далее. Я пробовал дублировать столбцы и заменять значения, начинающиеся с А, на что-то иное, а потому заполнением вверх-вниз баловаться, но это ни к чему не привело, потому что сочетаний А????? может быть огромное количество, а подстановочных знаков нет... Буду благодарен за совет, если кто сталкивался с подобной задачей |
|
|
Последовательность обновления запросов с помощью VBA
Последовательность обновления запросов с помощью VBA
05.12.2022 17:53:42
Коллеги, добрый день. Вопрос такой. Есть 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 в книге ? |
|
|
Разделение значений одного столбца на несколько
Разделение значений одного столбца на несколько
22.09.2022 16:20:59
Добрый день, уважаемые друзья.
Возможно для кого-то моя задача покажется простой, но я за день "гугления" как-то не нашел ее решения, а сам, естественно, не знаю как можно ее решить. Суть в том, что есть 3 столбца. В первом наименование материала и по два дублирующихся значения для каждого материала, потому что в столбце "Qty" для каждого материала сначало идет количество, потом стоимость. Задача эти значения из столбца"Qty" разбить на 2 столбца и избавиться от дублей, в показано в табличке рядом...Чувствую, что это можно решить с помощью PQ, но не понимаб как, потому как там для обработки строк не такой большой набор встроенных действий... |
|
|
Сведение столбцов с одним названием одной таблицы
21.07.2022 16:30:19
![]() |
|||||
|
Сведение столбцов с одним названием одной таблицы
21.07.2022 15:54:04
Осталось разобраться как этот код в Power Query правильно использовать, потому что моя нога туда почти не ступала) Большое спасибо ! ![]() ![]() |
|||||||
|
Сведение столбцов с одним названием одной таблицы
21.07.2022 15:05:30
Добрый день, друзья. Есть у меня такая задача, которая не поддается правильном решению со стороны моего скрипучего мозга)
Есть таблица. В таблице в столбцах значатся характеристики определенных агрегатов, а в строках, соотвественно, значения этих характеристик. Проблема в том, что столбцов относительно много и они могут дублироваться. Почему они дублируются-отдельный разговор, пока просто примем это за аксиому. Более того, дублей может быть более одного. Задача состоит в том, чтобы дублирующиеся столбцы свети в один, заполнив значения с дублей в единый основной столбец, а потом ненужные дублирующиеся столбцы поудалять. Хоть столбцы и дублируются, но во всех дублирующихся столбцах будет только одно заполненное значение, которое нужно оставить в едином свободном столбце. Столбцы, которые не дублируются, трогать не нужно, а оставить как есть. Я понимаю, что нужно писать макрос, понимаю, в принципе, и логику последовательности деятельности*, но сколько не бьюсь над его написанием, пока безрезультатно. Может кто сталкивался с подобной задачей, был бы рад любой подсказке... *-логика примерно следующая: 1. Посчитать количество заполненных столбцов и поместить в переменную(пусть это будет n) 2. Создать переменную, в которой будет накапливаться количество дублированных столбцов(пусть это будет z) 3. Создать цикл с 1 по n-z, в котором обходить все столбцы и проверять есть ли дубли и сколько их(дублей, то есть поместить это количество в переменную z) 4. Когда такой столбец найден, запустить для него цикл с 1 по z, который будет обходить все строки столбца и проверять их на пустоту. Если пустота обнаружена, нужно тянуть значение строки с этим же номером из первого дублированного столбца. Если и он пуст, тянем со следуюй строки с этим номером со следующего дублированного столбца. Если нашли, выходим из второго цикла и идем на следующую итерацию основного цикла. Если ничего не найдено, то идем на следуюшую итерацию второго цикла (вложенного цикла) пока не обойдем все дублированные столбцы. Важно: после выхода с второго цикла(вложенного) нужно удалить все дублированные столбцы, кроме основного-того, в который мы переносили данные, если они были Голову сломал, если честно... |
|
|
Получение значений столбцов с нескольких листов
30.06.2022 10:11:37
Спасибо большое за помощь, буду изучать инструменты, которыми не владею)) |
|||||||
|
Получение значений столбцов с нескольких листов
30.06.2022 08:28:27
В любом случае спасибо за помощь! |
|||
|
Получение значений столбцов с нескольких листов
Получение значений столбцов с нескольких листов
29.06.2022 15:28:25
Ребятки, добрый день.
Помогите, пожалуйста автоматизировать 2 задачи, которые сейчас делаю ручками. Чувствую, это можно сделать, но пока не нашел ответа как ![]() Первая задача Есть несколько листов в одной книге. Мне нужно на новый лист со всех остальных листов получить значения с первой строки всех столбцов, где эти значения заполнены(пересечения столбца и строки не пустое). То есть иными словами мне надо получить все значения первой строки заполненных столбцов в массиве листов. Я могу подсчитать и получить номера столбцов с помощью функции, а потом подставить этот массив в функцию Индекс для получения значений первой строки этих столбцов, но проблема в том, что на каждом листе разное количество столбцов...И поэтому в функции получения массива номеров столбцов диапазон каждого листа нужно менять вручную ![]() Здесь же вопрос-первым аргументом функции ИНДЕКС идет массив откуда брать данные. Какой будет синтаксис, чтобы в качестве этого аргумента указать массив листов? Чтобы не для каждого листа отдельно форматировать формулу, а получить данные одной формулой? Если немного намудрил с описанием, напишу на человеческом для чего мне это нужно - есть N количество листов, на каждом листе есть заголовки(характеристики агрегатов). Количество заголовков-характеристик на каждом листе разное. Большинство статусов по листам совпадают, но есть и те, которые индивидуальны для каждого листа. Мне нужно на одном листе собрать все возможные заголовки-статусы и сделать список неповторяющихся, чтобы в будущем делать сводный лист по всем листам. Отсюда вытекает... Вторая задача Есть сводный лист со всеми возможными характеристиками агрегатов. Мне нужно по названию заголовка-характеристики получить все данные из столбцов других листов... Получается только в ручном режиме через сочитание функций ПОИСКПОПОЗ и ИНДЕКС, меняя аргументы для каждого листа. Но это очень много времени забирает, может умные люди подскажут как это правильнее сделать...? ![]()
Изменено: |
|
|