Страницы: 1
RSS
Транспонирование в столбец
 
Добрый день.

Имеется ряд данных, который располагается в строчку через запятую. Нужно расположить их в столбец. Стандартное транспонирование не работает так.
Данные всегда имеют одинаковое количество цифр
 
пример можно показать?
что есть - как надо
 
Прикладываю образец. Слева как это примерно выглядит, справа как нужно расположить цифры.
 
Настораживает слово "примерно". Так вот работаешь, бывало, с таким примерным примером, а на деле оказывается, что всё не так...
Стесняюсь спросить: в строках 2, 4 и 5 в столбце А сразу идут данные, а ни ромашек, ни лютиков, ни прочего гербария. Они к кому-чему относятся?
 
alexleoix, 2 строчка относится к первой (Ромашка), 4 и 5 строчки относятся к 3 строчке. В таком формате выгрузка(((

Мне достаточно подсказать формулу, которая бы одну строку в столбец переводила, остальное вручную доделаю
 
В формулах не силён, а вот Power Query - пожалуйста:
 
alexleoix, все супер!
Только  подскажите, плиз, что нужно поменять, чтобы заработло на другом файле  (никогда не приходилось пользоваться PowerQuery, к сожалению)? В тот  файл добавила свои данные, переименовала, сохранила в нужную папку. Путь  поменялся на правильный, но когда нажимаю "обновить" возникает ошибка:
Изменено: Anzelikue - 18.07.2018 10:05:17
 
Anzelikue, возможно у нас различаются версии MSO.
Вы в чём работаете? у меня MSO 2013
Второй вариант - возможно, разделитель, по которому происходит разделение, в файле-примере и в рабочем файле различаются...
 
Цитата
Anzelikue написал:
но когда нажимаю "обновить" возникает ошибка:
Если нажать обновить не добавляя новых данных в файл, который прикрепил alexleoix эта же ошибка воспроизводится? Или только после добавления?
Вот горшок пустой, он предмет простой...
 
воспроизводится ошибка
mso2016
 
Ещё предположение: После добавления данных Вы файл сохраняете? - PQ работает с последней сохранённой версией файла. Изменения произведённые без сохранения он не видит (в отличие от Power Pivot, например)
 
alexleoix,сохранила файл и переоткрыла, ошибка та же. MSO 2016
Разделитель тот же - запятая
 
PooHkrd,да. Скачала по новой файл и нажала Обновить. Вижу ту же самую ошибку.
 
Anzelikue, попробуйте убить последний шаг (разделение столбца) и сделать его самостоятельно.
 
А еще можно попробовать вот такой вариант.
alexleoix, изменил ваш последний шаг, на два по-проще. Подозреваю что на использование meta ругается. Честно говоря, я сам не очень понял как эта ваша конструкция работает.
Изменено: PooHkrd - 18.07.2018 17:18:40
Вот горшок пустой, он предмет простой...
 
PooHkrd, возможно...
 
Цитата
PooHkrd написал:
Честно говоря, я сам не очень понял как эта ваша конструкция работает
PooHkrd, да и я не вдавался в подробности - сделал штатной операцией "Разделить столбец". Но ваш способ взял на вооружение, ибо приходится сталкиваться с тем, что сделанное мной на 2013-м в 2016-м (необновлённом) не воспроизводится.
 
alexleoix, PooHkrd, я поменяла русские слова на английские и все работает.
Например:
= Table.AddColumn(#"Измененный тип", "Данные", each if [Column2] = null then [Column1] else [Column2])
В моем варианте
= Table.AddColumn(#"Changed Type", "Data", each if [Column2] = null then [Column1] else [Column2])
 
Anzelikue, а у Вас, возможно, PQ или весь Excel на заграничном (английском) языке?
 
Anzelikue, вариант макросом
Код
Sub An()
Dim a(), i&, j&, k&, s$, d$()
  a = Range("A1").CurrentRegion.Resize(, 2).Value2
  i = 1: k = 1
  Worksheets.Add , ActiveSheet
  Do
    s = a(i, 2)
    For j = i + 1 To UBound(a)
      If IsEmpty(a(j, 2)) Then
        s = s & IIf(Right$(s, 1) = ",", "", ",") & a(j, 1)
      Else: Exit For
      End If
    Next
    d = Split(s, ",")
    Cells(k, 1) = a(i, 1)
    Cells(k, 2).Resize(UBound(d) + 1).Value = WorksheetFunction.Transpose(d)
    k = k + UBound(d) + 1
    i = j
  Loop Until i > UBound(a)
End Sub
Страницы: 1
Наверх