Проще посмотреть файл - станет понятнее, в нем название групп цифры а элементы групп буквы, как преобразовать такую таблицу в два столбца чтобы название группы было в отдельном столбце в одной строке с каждым элементом группы как в таблице выделенной синим, есть ли какой то инструмент? Это выдернуто из 1С нужно как то преобразовать в вид годный для эксель, при этом количество и содержимое строк разное, единственное за что можно ухватиться это название групп на русском а элементы на английском, но название может начинаться с цифры. И еще в идеале такое сделать на три столбца есть шанс что группировка будет по трем группам. Спасибо.
Для первого столбца в D21 : =ЕСЛИ(ЕТЕКСТ(A1);ИНДЕКС($A$1:A1;ПОИСКПОЗ(9^9;$A$1:A1));"") Для второго E21: =ЕСЛИ(D21<>"";A1;"") Затем пустое удаляем со сдвигом вверх.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Владимир,а так там на текст проверка, она работать не будет там же может быть текст в обоих столбцах, т.е. и в названии группы и в ее содержимом, кстати если можно сделать проверку на англ и рус язык то тоже прокатит
Владимир,я не понимаю как можно сделать пример который будет отображать суть если на него ограничение в 100кБ , поэтому прикладываю ссылку на яндекс диск там ни регистрации никаких ограничений https://yadi.sk/i/dCIOfE3X3MQq2K
bortnik27 написал: я не понимаю как можно сделать пример который будет отображать суть
Это я не понимаю, как можно писать в примере 1, 2, 3.., если в реальном файле - "В пути", "Мебель", "Офис" и пр.. Ну, никак не числа. ---------------------- Не буду учить писать Вас примеры. Макрос бесплатно Вам писать тоже не буду.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
попробуйте вот такой подход https://yadi.sk/i/BgI6RB4h3MRTSe если не поможет постарайтесь сделать понятный файл с исходными данными и нужным вам результатом сразу замечу за третий уровень группировки вы не говорили так что я тоже не заморачивался PS всю сложность поставленной Вами задачи можно решить перенастроив отчет в 1С - это будет гораздо быстрее и удобней.
Подскажите, пжл, как с помощью Power Query преобразовать сгруппированные строки в столбцы. Есть номер столбца (level) Финансы отдают данные в структуре, как в примере, для дальнейшей работы необходимо преобразовать в плоскую таблицу структура баланса.xlsx(37.6 КБ)структура баланса.xlsx(37.6 КБ)
let
from =Excel.Workbook(File.Contents(fParam("Path")),true){[Name="Total"]}[Data],
lst=List.Buffer(Table.ToList(from,(x)=>x)),
max=List.Max(from[level]),
gen=List.Generate(()=>[i=0,j=lst{i},r={j{1}}&List.Repeat({null},max-j{0})&List.Skip(j,2)],
(x)=>x[i]<List.Count(lst),
(x)=>[i=x[i]+1,j=lst{i},r=List.FirstN(x[r],j{0}-1)&{j{1}}&List.Repeat({null},max-j{0})&List.Skip(j,2)],
(x)=>x[r]),
nms=List.Transform({1..max},(x)=>"Name_"&Text.From(x))&List.Skip(Table.ColumnNames(from),2),
to=Table.FromList(gen,(x)=>x,nms)
in
to
Здравствуйте! В файл добавила 2 варианта: - с заполнением значения до последнего уровня - Лист "все уровни с заполнением"; - строки только с последними уровнями с заполнением - Лист "только последний уровень". Всего доброго!
let path = Excel.CurrentWorkbook(){[Name="tParam"]}[Content][Value]{0}, from = Excel.Workbook(File.Contents(path),true)[Data]{0}, lst = Table.ToList(from,(x)=>{x{0}}&List.Repeat({null},x{0}-1)&{x{1}}), fill = Table.FillDown(Table.FromList(lst,(x)=>x,{"0".."8"},""),{"1".."8"}), gr = Table.Group(fill,"0",{"a",(x)=>x},0,(s,c)=>Number.From(Number.Abs(c-s)>=1))[a], to = Table.RemoveColumns(Table.Combine(List.Select(gr,(x)=>Table.RowCount(x)>1)),"0") in to