Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Преобразование таблицы (перенос из столбцов в строки) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Преобразование таблицы (перенос из столбцов в строки)
Андрей_Саныч Дата: Суббота, 01.10.2022, 21:38 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!
Прошу помочь в следующей задаче: необходимо преобразовать таблицу со значениями по месяцам (горизонтально расположены) в таблицу с вертикальным расположением чисел. Наглядно упрощенный пример в прилагаемом файле.
Сейчас реализуется через ряд ручных манипуляций, от которых хотелось бы максимально избавиться, т.к. данных много и они пополняются. Через сводные таблицы пока не дошло, как это попроще реализовать. Макросы исключаются, надстройки тоже.
Спасибо!
К сообщению приложен файл: 3079989.xlsx (23.6 Kb)
 
Ответить
СообщениеДобрый день!
Прошу помочь в следующей задаче: необходимо преобразовать таблицу со значениями по месяцам (горизонтально расположены) в таблицу с вертикальным расположением чисел. Наглядно упрощенный пример в прилагаемом файле.
Сейчас реализуется через ряд ручных манипуляций, от которых хотелось бы максимально избавиться, т.к. данных много и они пополняются. Через сводные таблицы пока не дошло, как это попроще реализовать. Макросы исключаются, надстройки тоже.
Спасибо!

Автор - Андрей_Саныч
Дата добавления - 01.10.2022 в 21:38
прохожий2019 Дата: Суббота, 01.10.2022, 22:10 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
PQ
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    unpiv = Table.UnpivotOtherColumns(from, {"Статья", "Наименование"}, "Период", "Сумма"),
    to = Table.ReorderColumns(unpiv,{"Период", "Статья", "Наименование", "Сумма"})
in
    to
[/vba]
К сообщению приложен файл: 9051012.xlsx (36.1 Kb)
 
Ответить
СообщениеPQ
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    unpiv = Table.UnpivotOtherColumns(from, {"Статья", "Наименование"}, "Период", "Сумма"),
    to = Table.ReorderColumns(unpiv,{"Период", "Статья", "Наименование", "Сумма"})
in
    to
[/vba]

Автор - прохожий2019
Дата добавления - 01.10.2022 в 22:10
Андрей_Саныч Дата: Суббота, 01.10.2022, 22:16 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Цитата прохожий2019, 01.10.2022 в 22:10, в сообщении № 2 ()
PQ

Боюсь, что PQ установить не выйдет на рабочем экселе из-за определенных ограничений
 
Ответить
Сообщение
Цитата прохожий2019, 01.10.2022 в 22:10, в сообщении № 2 ()
PQ

Боюсь, что PQ установить не выйдет на рабочем экселе из-за определенных ограничений

Автор - Андрей_Саныч
Дата добавления - 01.10.2022 в 22:16
прохожий2019 Дата: Суббота, 01.10.2022, 22:18 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
Цитата Андрей_Саныч, 01.10.2022 в 22:16, в сообщении № 3 ()
установить не выйдет
ну вы немножко забыли указать, что у вас 2013 или старее
 
Ответить
Сообщение
Цитата Андрей_Саныч, 01.10.2022 в 22:16, в сообщении № 3 ()
установить не выйдет
ну вы немножко забыли указать, что у вас 2013 или старее

Автор - прохожий2019
Дата добавления - 01.10.2022 в 22:18
прохожий2019 Дата: Суббота, 01.10.2022, 22:23 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
а ещё немножко забыли про кросс
 
Ответить
Сообщениеа ещё немножко забыли про кросс

Автор - прохожий2019
Дата добавления - 01.10.2022 в 22:23
Egyptian Дата: Суббота, 01.10.2022, 22:56 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата Андрей_Саныч, 01.10.2022 в 22:16, в сообщении № 3 ()
PQ установить не выйдет

ТАМ выложили решение формулами.
 
Ответить
Сообщение
Цитата Андрей_Саныч, 01.10.2022 в 22:16, в сообщении № 3 ()
PQ установить не выйдет

ТАМ выложили решение формулами.

Автор - Egyptian
Дата добавления - 01.10.2022 в 22:56
scriptapplications Дата: Суббота, 01.10.2022, 23:16 | Сообщение № 7
Группа: Проверенные
Ранг: Участник
Сообщений: 68
Репутация: 12 ±
Замечаний: 0% ±

Андрей_Саныч,
Период
Код
=ИНДЕКС($D$3:$O$3;1;ЦЕЛОЕ((СТРОКА()-СТРОКА($F$25))/ЧСТРОК($D$4:$D$16))+1)

Статья
Код
=ИНДЕКС(B$4:B$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Наименование
Код
=ИНДЕКС(C$4:C$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Сумма
Код
=ИНДЕКС(D$4:O$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1;ЦЕЛОЕ((СТРОКА()-СТРОКА($B$25))/ЧСТРОК($B$4:$B$16))+1)
К сообщению приложен файл: 3079989_1.xlsx (26.7 Kb)


Сообщение отредактировал scriptapplications - Суббота, 01.10.2022, 23:16
 
Ответить
СообщениеАндрей_Саныч,
Период
Код
=ИНДЕКС($D$3:$O$3;1;ЦЕЛОЕ((СТРОКА()-СТРОКА($F$25))/ЧСТРОК($D$4:$D$16))+1)

Статья
Код
=ИНДЕКС(B$4:B$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Наименование
Код
=ИНДЕКС(C$4:C$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Сумма
Код
=ИНДЕКС(D$4:O$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1;ЦЕЛОЕ((СТРОКА()-СТРОКА($B$25))/ЧСТРОК($B$4:$B$16))+1)

Автор - scriptapplications
Дата добавления - 01.10.2022 в 23:16
Андрей_Саныч Дата: Суббота, 01.10.2022, 23:45 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Цитата scriptapplications, 01.10.2022 в 23:16, в сообщении № 7 ()
Период

=ИНДЕКС($D$3:$O$3;1;ЦЕЛОЕ((СТРОКА()-СТРОКА($F$25))/ЧСТРОК($D$4:$D$16))+1)

Статья

=ИНДЕКС(B$4:B$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Наименование

=ИНДЕКС(C$4:C$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Сумма

=ИНДЕКС(D$4:O$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1;ЦЕЛОЕ((СТРОКА()-СТРОКА($B$25))/ЧСТРОК($B$4:$B$16))+1)

Спасибо большое!!
 
Ответить
Сообщение
Цитата scriptapplications, 01.10.2022 в 23:16, в сообщении № 7 ()
Период

=ИНДЕКС($D$3:$O$3;1;ЦЕЛОЕ((СТРОКА()-СТРОКА($F$25))/ЧСТРОК($D$4:$D$16))+1)

Статья

=ИНДЕКС(B$4:B$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Наименование

=ИНДЕКС(C$4:C$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1)

Сумма

=ИНДЕКС(D$4:O$16;ОСТАТ((СТРОКА()-СТРОКА($B$25));ЧСТРОК($B$4:$B$16))+1;ЦЕЛОЕ((СТРОКА()-СТРОКА($B$25))/ЧСТРОК($B$4:$B$16))+1)

Спасибо большое!!

Автор - Андрей_Саныч
Дата добавления - 01.10.2022 в 23:45
прохожий2019 Дата: Суббота, 01.10.2022, 23:51 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
одной формулой)))
[vba]
Код
=LET(h;D3:O3;n;D4:O16;t;B4:C16;i;ЧСТРОК(t);MAKEARRAY(СЧЁТ(n);4;LAMBDA(r;c;LET(m;ОСТАТ(r-1;i)+1;d;ОТБР((r-1)/i)+1;ВЫБОР(c;ИНДЕКС(h;d);ИНДЕКС(t;m;1);ИНДЕКС(t;m;2);ИНДЕКС(n;m;d))))))
[/vba]
 
Ответить
Сообщениеодной формулой)))
[vba]
Код
=LET(h;D3:O3;n;D4:O16;t;B4:C16;i;ЧСТРОК(t);MAKEARRAY(СЧЁТ(n);4;LAMBDA(r;c;LET(m;ОСТАТ(r-1;i)+1;d;ОТБР((r-1)/i)+1;ВЫБОР(c;ИНДЕКС(h;d);ИНДЕКС(t;m;1);ИНДЕКС(t;m;2);ИНДЕКС(n;m;d))))))
[/vba]

Автор - прохожий2019
Дата добавления - 01.10.2022 в 23:51
Андрей_Саныч Дата: Воскресенье, 02.10.2022, 00:03 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Цитата прохожий2019, 01.10.2022 в 23:51, в сообщении № 9 ()
=LET(h;D3:O3;n;D4:O16;t;B4:C16;i;ЧСТРОК(t);MAKEARRAY(СЧЁТ(n);4;LAMBDA(r;c;LET(m;ОСТАТ(r-1;i)+1;d;ОТБР((r-1)/i)+1;ВЫБОР(c;ИНДЕКС(h;d);ИНДЕКС(t;m;1);ИНДЕКС(t;m;2);ИНДЕКС(n;m;d))))))

Спасибо Вам! Хотелось бы применить формулу, но что-то эксель ругается, в частности на "LAMBDA(...". В чем секрет, что я не так делаю?
 
Ответить
Сообщение
Цитата прохожий2019, 01.10.2022 в 23:51, в сообщении № 9 ()
=LET(h;D3:O3;n;D4:O16;t;B4:C16;i;ЧСТРОК(t);MAKEARRAY(СЧЁТ(n);4;LAMBDA(r;c;LET(m;ОСТАТ(r-1;i)+1;d;ОТБР((r-1)/i)+1;ВЫБОР(c;ИНДЕКС(h;d);ИНДЕКС(t;m;1);ИНДЕКС(t;m;2);ИНДЕКС(n;m;d))))))

Спасибо Вам! Хотелось бы применить формулу, но что-то эксель ругается, в частности на "LAMBDA(...". В чем секрет, что я не так делаю?

Автор - Андрей_Саныч
Дата добавления - 02.10.2022 в 00:03
прохожий2019 Дата: Воскресенье, 02.10.2022, 00:08 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
Цитата Андрей_Саныч, 02.10.2022 в 00:03, в сообщении № 10 ()
что я не так делаю?
не раскрываете информацию о том, какая у вас на самом деле версия - моя формула будет работать только в 365 офисе
 
Ответить
Сообщение
Цитата Андрей_Саныч, 02.10.2022 в 00:03, в сообщении № 10 ()
что я не так делаю?
не раскрываете информацию о том, какая у вас на самом деле версия - моя формула будет работать только в 365 офисе

Автор - прохожий2019
Дата добавления - 02.10.2022 в 00:08
Андрей_Саныч Дата: Воскресенье, 02.10.2022, 00:14 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Цитата прохожий2019, 02.10.2022 в 00:08, в сообщении № 11 ()
не раскрываете информацию о том, какая у вас на самом деле версия - моя формула будет работать только в 365 офисе

Понял) Дома 2013 сейчас.
Спасибо, в любом случае!
 
Ответить
Сообщение
Цитата прохожий2019, 02.10.2022 в 00:08, в сообщении № 11 ()
не раскрываете информацию о том, какая у вас на самом деле версия - моя формула будет работать только в 365 офисе

Понял) Дома 2013 сейчас.
Спасибо, в любом случае!

Автор - Андрей_Саныч
Дата добавления - 02.10.2022 в 00:14
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!