Страницы: 1 2 След.
RSS
Сложный перевод колонок в строки
 
Всем привет!
У меня вот такая проблема:
есть таблица-матрица: каждый столбец некий параметр - каждая строка это прибор
параметр а б в г
прибор 1 1,1 10 192
прибор 2-1 4 5 88
Мне необходимо превратить ее в таблицу следующего вида
прибор1 а1,1
прибор 1 б10
прибор 1в 19
прибор 1г 2
прибор 2а -1
прибор 2б 4
прибор 2в 5
прибор 2 г 88
функция транспортирования тут не поможет - может быть есть у кого-нибудь идеи как это сделать?

Спасибо!
Изменено: Кирилл Демидов - 24.02.2020 19:42:38
 
https://www.planetaexcel.ru/techniques/2/55/
 
Привет.
Цитата
Кирилл Демидов написал:
может быть есть у кого-нибудь идеи как это сделать?
Первая идея- приложите пример в формате Эксель.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Приложил!  
 
Кирилл Демидов, вариант в power query по ссылке предложенной товарища RAN
Изменено: Mershik - 24.02.2020 19:46:31
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал: вариант в power query
Не очень понял о чем речь
В любом случае я на Маке и у меня нет Power Query и нет PowerBI чтобы сделать там unpivot  
 
Цитата
Mershik написал:
Кирилл Демидов , вариант в power query по ссылке предложенной товарища  RAN
А мне показалось что это VBA макрос  
 
Цитата
Кирилл Демидов написал:
В любом случае я на Маке
А для любителей Мас у нас есть отдельный форум )
 
Но проблема-то не связана с маком
 
Кирилл Демидов, да? тогда почему не берете решение в PQ ?
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, еще раз - решение RAN не в power query а в использовании макроса VB и кто вам сказал что я его не беру - просто еще не успел проверить.
Проблема, с которой я столкнулся не лежит в плоскости различий операционных систем, а в принципиальном подходе - в случае необходимости я открою EXCEL в VM на маке.  
 
Но ведь один вариант Вас уже не устроил - потому что Мас )
И получилось, что человек зря потратил своё время, пытаясь Вам помочь. А вот разместили бы Вы свою тему в нужном месте...
 
Или я туплю или чего-то не понимаю... Где решение в power query? RAN предложил решение написать макрос - я его решение попробую чуть позже сегодня - этот функционал есть на маке - кто время зря тратил?
У вас, Юрий М, есть предложение по решению? вы можете как-то мне помочь?  
Изменено: Кирилл Демидов - 24.02.2020 20:20:38
 
Код
Sub ConvertTablica()
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
 iLastRow = Range("A3").End(xlDown).Row
    iLR = 14
  For i = 4 To iLastRow
    Cells(i, "A").Copy Cells(iLR, "A")
    Range("B3:D3").Copy
    Cells(iLR, "B").PasteSpecial xlPasteFormats, Transpose:=True
    Cells(iLR, "B").PasteSpecial xlPasteValues, Transpose:=True
    Range("B" & i & ":D" & i).Copy
    Cells(iLR, "C").PasteSpecial xlPasteFormats, Transpose:=True
    Cells(iLR, "C").PasteSpecial xlPasteValues, Transpose:=True
    iLR = iLR + 3
  Next
    iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
    With Range("A14:A" & iLastRow)
      .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
      .Value = .Value
    End With
      Range("A14:A" & iLastRow).Borders.Weight = xlThin
End Sub
 
Цитата
Кирилл Демидов написал:
Где решение в power query?
В #5

Цитата
Кирилл Демидов написал:
У вас, Юрий М, есть предложение по решению? вы можете как-то мне помочь?  
Могу написать макрос. Но не помощь это.
 
RAN, Спасибо большое все работает! - https://www.planetaexcel.ru/techniques/2/55/

Именно то что было нужно.
 
Кирилл Демидов,
А мой вариант не сработал?
 
Цитата
Kuzmich написал:
А мой вариант не сработал?
как раз собирался попробовать  
Изменено: Кирилл Демидов - 24.02.2020 22:42:37
 
Цитата
@Kuzmich - Неа не работает - вот я прикладываю не сэмпл а реальный файл с данными - на нем не получается нужный результат
Изменено: Кирилл Демидов - 24.02.2020 22:41:40
 
Доброе время суток
Цитата
Кирилл Демидов написал:
на Маке и у меня нет Power Query
А что мешает перейти на версию, чтобы был?
 
Цитата
Юрий М написал:
зачем процитировали код
Во всем Mac виноват :)
 
Мас - он такой )
 
Цитата
Андрей VG написал:
А что мешает перейти на  версию , чтобы был?




Я на самом деле уже на этой версии - я имел в виду PowerPivot  
 
Кирилл Демидов,
А где в вашем файле мой макрос? Прежде чем говорить, что не работает
 
Цитата
Кирилл Демидов написал:
я имел в виду PowerPivot
а зачем вам Power Pivot для решения именно этой задачи? К чему привлекать не нужные сущности?
 
Цитата
Kuzmich написал:
А где в вашем файле мой макрос? Прежде чем говорить, что не работает
Вот пжлст - сохранил первый раз без макроса

(А чего все на меня набрасываются то сегодня?))))
 
Кирилл Демидов,
Макроса в вашем файле так и не увидел.
Вот адаптированный для вашего файла макрос
Код
Sub ConvertTablica()
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
 iLastRow = Range("A3").End(xlDown).Row
    iLR = 40
  For i = 2 To iLastRow
    Cells(i, "A").Copy Cells(iLR, "A")
    Range("B1:Q1").Copy
    Cells(iLR, "B").PasteSpecial xlPasteFormats, Transpose:=True
    Cells(iLR, "B").PasteSpecial xlPasteValues, Transpose:=True
    Range("B" & i & ":Q" & i).Copy
    Cells(iLR, "C").PasteSpecial xlPasteFormats, Transpose:=True
    Cells(iLR, "C").PasteSpecial xlPasteValues, Transpose:=True
    iLR = iLR + 16
  Next
    iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
    With Range("A40:A" & iLastRow)
      .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
      .Value = .Value
    End With
      Range("A40:A" & iLastRow).Borders.Weight = xlThin
End Sub
 
Цитата
Андрей VG написал:
а зачем вам Power Pivot для решения именно этой задачи? К чему привлекать не нужные сущности?
Я знаю как эту задачу решить в PowerBI с помощью нехитрых манипуляций с M-language - но технически я хотел бы решить ее с помощью решения внутри EXCEL и без привлечения PowerQuery/PowerBI/PowerPivot - так как в конечном случае это будет делать не очень технически подкованный специалист, которому проще запустить макрос, чем разбираться в многомерных моделях

Поэтому и обратился сюда  
 
Цитата
Кирилл Демидов написал:
А чего все на меня набрасываются то сегодня?
В нечего Макинтошить! )
 
Цитата
Юрий М написал:
В нечего Макинтошить! )




Я просто бигдатой занимаюсь - вот когда винда научиться без танцев с бубнами запускать все необходимые сервисы (Apache Spark, RMQ, Kafka и т.п.) - я с радостью к ней вернусь.  
Страницы: 1 2 След.
Наверх