Доброго времени! Есть столбец с датами, рядом столбец с данными. Данные разделены "!" знаком. Подскажите, как вынести каждую часть данных ячейки разделённых "!" в отдельную ячейку в другой столбец? При этом подставив дату к которой относятся эти данные. Пример приложил. СПАСИБО!
Доброго времени! Есть столбец с датами, рядом столбец с данными. Данные разделены "!" знаком. Подскажите, как вынести каждую часть данных ячейки разделённых "!" в отдельную ячейку в другой столбец? При этом подставив дату к которой относятся эти данные. Пример приложил. СПАСИБО!1denes1
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", type date}, {"Столбец2", type text}}), #"Разделить столбец по разделителю" = Table.ExpandListColumn(Table.TransformColumns(#"Измененный тип", {{"Столбец2", Splitter.SplitTextByDelimiter("!", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Столбец2"), #"Измененный тип1" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Столбец2", type text}}), #"Обрезанный текст" = Table.TransformColumns(#"Измененный тип1",{{"Столбец2", Text.Trim, type text}}) in #"Обрезанный текст"
[/vba]
PQ всемогущий [vba]
Код
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", type date}, {"Столбец2", type text}}), #"Разделить столбец по разделителю" = Table.ExpandListColumn(Table.TransformColumns(#"Измененный тип", {{"Столбец2", Splitter.SplitTextByDelimiter("!", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Столбец2"), #"Измененный тип1" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Столбец2", type text}}), #"Обрезанный текст" = Table.TransformColumns(#"Измененный тип1",{{"Столбец2", Text.Trim, type text}}) in #"Обрезанный текст"
Афигеееееть!!!! Столько лет работаю с екселем, и даже не знаю про PQ. Но таблица не обновляется автоматически при добавлении новых строк с датами и запчастями или при изменении уже имеющихся. Это возможно? Капец прикольная штука ))
Афигеееееть!!!! Столько лет работаю с екселем, и даже не знаю про PQ. Но таблица не обновляется автоматически при добавлении новых строк с датами и запчастями или при изменении уже имеющихся. Это возможно? Капец прикольная штука ))1denes1
В PQ максимум, что получилось - это обновление каждую минуту. Но этого не достаточно, может есть обновление при изменении таблицы? Я не нашел ничего похожего.
В PQ максимум, что получилось - это обновление каждую минуту. Но этого не достаточно, может есть обновление при изменении таблицы? Я не нашел ничего похожего.1denes1
Добавил в макрос Pelena запуск при изменение ячеек из указанного диапазона, Леночка вы моё спасение!
Прописываем 2 макроса: 1. Вспомогательный макрос на листе в котором должен автоматически запускаться нужный макрос при внесении изменений в ячейках. 2. Макрос который должен запускаться автоматически прописываем в модуле книги.
Вспомогательный макрос:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range
'Переменная KeyCells содержит ячейки при изменении которых будет запускаться макрос Set KeyCells = Range("A1:C10")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then
' Указываем имя макроса записанного в модуле: ИмяМакроса
End If End Sub
[/vba]
Добавил в макрос Pelena запуск при изменение ячеек из указанного диапазона, Леночка вы моё спасение!
Прописываем 2 макроса: 1. Вспомогательный макрос на листе в котором должен автоматически запускаться нужный макрос при внесении изменений в ячейках. 2. Макрос который должен запускаться автоматически прописываем в модуле книги.
Вспомогательный макрос:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range
'Переменная KeyCells содержит ячейки при изменении которых будет запускаться макрос Set KeyCells = Range("A1:C10")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then
' Указываем имя макроса записанного в модуле: ИмяМакроса
1denes1, на какой версии Экселя работаете? Если есть динамические диапазоны - удобный вариант массивная UDF, не нужно кнопок и событий, можно без допработы применять где угодно, введя в одну ячейку =функция(диапазон). Можно и в старых использовать такую UDF, но сложнее применять. P.S. Вот добавил в файл, специально оставил первый столбец как есть датой, но не обработанной форматом ячейки. Но если выводить форматированным текстом то будет визуально как зададите.
1denes1, на какой версии Экселя работаете? Если есть динамические диапазоны - удобный вариант массивная UDF, не нужно кнопок и событий, можно без допработы применять где угодно, введя в одну ячейку =функция(диапазон). Можно и в старых использовать такую UDF, но сложнее применять. P.S. Вот добавил в файл, специально оставил первый столбец как есть датой, но не обработанной форматом ячейки. Но если выводить форматированным текстом то будет визуально как зададите.Hugo