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

Страницы: 1
Power Query. Заменить строгую привязку к названиям столбцов на динамический список., Вставить в функцию List.Min названия нужных столбцов без их строго перечисления.
 
Добрый день!
Подскажите, пожалуйста, как заменить строгую привязку к названиям столбцов в следующем коде:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица3"]}[Content],
    Min1 = Table.AddColumn(Источник, "Min1", each List.Min({[a1],[a2],[a3],[a4]})),
    PMin1 = Table.AddColumn(Min1, "PMin1", each {"a1", "a2", "a3","a4"}{List.PositionOf({[a1], [a2], [a3],[a4]}, [Min1])}),
    Min2 = Table.AddColumn(PMin1, "Min2", each List.Last(List.MinN({[a1],[a2],[a3],[a4]},2))),
    Pmin2 = Table.AddColumn(Min2, "PMin2", each {"a1", "a2", "a3","a4"}{List.PositionOf({[a1], [a2], [a3],[a4]}, [Min2])})
in
    Pmin2
Список столбцов через Table.ColumnNames как получить понимаю, но не понимаю как интегрировать этот список в формулы.
Заранее спасибо!
Макросом вставить формулу в ячейки скрытого столбца в предварительно отфильтрованных данных.
 
Добрый день, форумчане!
Может кто поможет устранить ошибку в коде.
Код ниже вставляет в скрытом столбце "Рентабельность" (столбец G) формулу:
=Сумма - (Количество*Себестоимость)
Код
Sub Pribyl()

q = Rows(1).Find("Рентабельность", LookIn:=xlFormulas).Column
q1 = Rows(1).Find("Сумма", LookIn:=xlFormulas).Column
q2 = Rows(1).Find("Количество", LookIn:=xlFormulas).Column
q3 = Rows(1).Find("Себестоимость", LookIn:=xlFormulas).Column

x = ActiveCell.Row
y = Cells(Rows.Count, 1).End(xlUp).Row
a = Cells(x, q)
b = Cells(y, q)
dohod = Cells(x, q1).Address
kolvo = Cells(x, q2).Address
sebestoimost = Cells(x, q3).Address
    Cells(x, q).Select
    ActiveCell.Formula = "=" & Replace(dohod, "$", "", 1) & "-" & "(" & Replace(kolvo, "$", "", 1) & "*" & Replace(sebestoimost, "$", "", 1) & ")"
  Selection.AutoFill Destination:=Range(Cells(x, q), Cells(y, q))

 End Sub
Формула вставляется с той строки, в которой находится активная ячейка, и во все строки ниже. Столбцы "Рентабельность" и "Себестоимость"  (столбецы G и H) скрыты и их расположение на листе меняется каждый раз.
Данные на листе предварительно отфильтрованы по конкретному месяцу. Если фильтр не снять и запустить макрос нажатием кнопки "Замена формулой", то выпадает окно с ошибкой.
Как только удалить фильтр - макрос срабатывает без ошибок.
Может кто-то подскажет как обойти ошибку, при этом сохранив фильтр данных.
Заранее благодарю за помощь.
Изменено: turbidgirl - 06.04.2021 16:22:57
Сумма по нескольким условиям, ссылка на массив, находящийся на пересечении нужных строк и столбцов, работает некорректно.
 
Добрый день.
Есть формула массива
={IF(ISERROR(MATCH(D$1;PriceOsoby[#Headers];0));SUM(D2:D6*$B$2:$B$6);SUM(INDEX(PriceOsoby[[Саша]:[Маша]];MATCH($A$2:$A$6;PriceOsoby[Код];0);MATCH(D$1;PriceOsoby[[#Headers];[Саша]:[Маша]];0))*$C$2:$C$6))}
Работает не совсем правильно.
Файл прилагаю.
Подскажите, пожалуйста, где ошибка?
Заранее благодарю за ответ.
Разбивка столбцов исходной таблицы по разделителю, их последующая привязка к конкретной таблице-шапке по общим именам, Разделить текст не в одном столбце, а сразу в нескольких
 
Добрый день.
Есть таблица такого вида:
Скрытый текст

Мишка, Зайка, Бегемот - это названия столбцов.
Нужно в POWER QUERY разбить текст в столбцах по разделителю ":", но так, чтобы не для каждого столбца делать это в отдельности, а выделив сразу все три столбца.
В выше указанной таблице количество столбцов может меняться в большую и меньшую сторону и соответственно иметь новые заголовки. И каждый раз при обновлении данных приходится редактировать запрос в Power Query под конкретные заголовки столбцов.
Столбцы должны располагаться именно в таком виде, как в образце, т.к. они потом выгружаются на лист под конкретную шапку таблицы.
Заранее благодарю за советы.
При сохранении из excel макросом списка документов формата .doc в формат .txt результат получается в закодированном виде, как бы так подправить код, чтобы на выходе получался читабельный документ.
 
Добрый день.
Есть список файлов резюме в формате doc. Макросом из excel пытаюсь пересохранить их в нужную мне директорию в формате TXT. Для этого использую макрос:
Код
Sub Сохранить_в_ТХТ()
y = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 1 To y
Name = Cells(i, 2) & ".txt"
Path = "C:\Users\tat\Desktop\TEST\" & Cells(i,4 )
book = Cells(i, 3)
Dim objWrdApp As Object, objWrdDoc As Object
  Set objWrdApp = CreateObject("Word.Application")
    Set objWrdDoc = objWrdApp.Documents.Open(book)
    objWrdDoc.SaveAs2 Path & Name, FileFormat:=wdFormatText, LockComments:=False, Password:="", _
        AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
        EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
        :=False, SaveAsAOCELetter:=False, Encoding:=1251, InsertLineBreaks:=False _
        , AllowSubstitutions:=False, LineEnding:=wdCRLF, CompatibilityMode:=0
    objWrdApp.Quit
     Set objWrdDoc = Nothing: Set objWrdDoc = Nothing:
  Next i
End Sub
Часть макроса была записана в Word с помощью рекодера и копированием перенесена в модуль Excel. При запуске представленного выше макроса с активного листа excel файлы сохраняются куда нужно, но содержимое их при открытии предстаёт в закодированном виде (если сохранять из Word по файлу, то формат txt читается как надо, т.е. никакой абракадабры нет). Пыталась поменять пункт Encoding:=1251, подставляла все возможные варианты, что нашла в инете - не помогло: содержимое файлов предстает также в нечитабельном виде. Может кто-то свежим взглядом посмотрит и наведет на умную мысль, как исправить код, чтобы он нормально сработал.
В приложении Файл Ексель, из которого запускается макрос и архив, в котором находится исходный документ и выходной документ.
Заранее благодарю за помощь.
Изменено: turbidgirl - 14.07.2017 22:16:12
Зависает Excel при обработке Function Get_Value_From_Close_Book
 

Добрый день.

На одном из подключенных дисков на рабочем компе, диске S, имеется папка. В ней лежат файлы. Файлы представляют собой заполненные формы. Формы эти сделаны следующим образом: типовые, одна шапка, одно количество как колонок, так и столбцов; одно количество листов, листы имеют одинаковые названия; форма имеет внешние связи с рядом других файлов, которые обновляются в автоматическом режиме; документ защищен от несанкционированных изменений, т.е. внести какие-то изменения в заполненную форму не в моих полномочиях, разорвать связи или отменить обновление также не могу. Моя задача заключается в следующем: из каждого файла-формы мне нужно извлечь данные из ячеек Е2, Е5, Н8. Через Power Query я достаю список всех файлов в нужной мне папке (каждый день в папку могут добавляться новые файлы, за месяц всего где-то 50-60 файлов). Далее добавляю три столбца, в которых использую формулу:

Код
Function Get_Value_From_Close_Book(sWb As String, sShName As String, sAddress As String)
   Dim vData, objCloseBook As Object

   Set objCloseBook = GetObject(sWb)
   'получаем значение
   vData = objCloseBook.Sheets(sShName).Range(sAddress).Value
   objCloseBook.Close False

   'Возвращаем данные в ячейку с функцией
   Get_Value_From_Close_Book = vData
End Function

для извлечения данных из указанных трех ячеек из всех имеющихся файлов.

Макрос работает, данные подхватываются, но… при обработке каждой строки выпадает сообщение что-то типа «Невозможно обновить внешние связи. Продолжить или Редактировать». Мне приходится  нажимать «Продолжить» до тех пор, пока Ексель не обработает все строки. При этом, если нажать «Обновить все данные», дабы проверить на наличие новых файлов, Ексель сначала выдает сообщение о невозможности обновления, вынуждает меня нажимать «Продолжить» Н-цать раз, а потом либо подвисает так, что даже через диспетчер задач нельзя закрыть документ, только перезагрузка, либо выбивает из программы и перезапускает её. Я так понимаю, проблема заключается именно в автоматическом обновлении связей в запароленном документе. Как это обойти не знаю. Может кто-то что-то посоветует или предложит какой другой вариант решения исходной задачи, пусть и более затратный по времени… Заранее благодарю!

Изменено: turbidgirl - 30.06.2017 22:33:07
Объединить таблицы с разным количеством столбцов на языке М Power Query
 
Добрый день.
В Power Query имеется запрос такого плана  (см. файл Вид):


У таблиц первые пять колонок однотипные и имеют одинаковые названия. А вот начиная с шестой могут меняться как названия столбцов, так и их количество. Т.е. в одной таблице может быть восемь столбцов, в другой 12, в третей 14. Названия столбцов могут совпадать, а могут быть и уникальными. Если нажать на кнопку Развернуть, то данные раскрываются коряво: по строкам присутствуют все имена, а вот столбцы многие отсутствуют. Как объединить таблицы так, чтобы отображались все столбцы, что есть в таблицах, а данные таблиц располагались друг под другом?

P.S. Выложила файлы для наглядности. Юг - типы файлов, которые нужно объединить (их таких шесть, но суть у них одна). Тест - файл, в котором пытаюсь сделать запрос на объединение.
Изменено: turbidgirl - 07.06.2017 09:47:14
Страницы: 1
Наверх