Як скласти горизонтальну серію у вертикальну


3

У мене є набір даних, що міститься в a .csv таблицю, організовану таким чином:

name | 2006 | 2007 | 2008 | 2009
--------------------------------
foo  | 28   | 48   | 395  | 3829
bar  | 83   | 475  | 350  | 46

Мені потрібно переставити ці дані таким чином:

name | date | value
-------------------
foo  | 2006 | 28
foo  | 2007 | 48
foo  | 2008 | 395
foo  | 2009 | 3829
bar  | 2006 | 83
bar  | 2007 | 475
bar  | 2008 | 350
bar  | 2009 | 46

Я думав, що зможу зробити це за допомогою формули електронної таблиці, щось подібне row.valueEntry = inputSheet[row.index/4 + 1][row.index % 4 + 1], але я ще не з'ясував, як його реалізувати в електронно-табличній мові.

Чи є кращий спосіб досягти такого перетворення?

(До речі, у мене немає доступу до MS Excel, оскільки я перебуваю на Ubuntu, але відповіді, які потребують специфічних для excel речей, можуть бути корисними для інших користувачів.)


1
Я думаю, що для цього в Excel є "зведена таблиця". Я подумаю про простий код електронної таблиці ...
apnorton

Схоже, LibreOffice також має зведену таблицю, але я не знаю, наскільки вона хороша.
apnorton

@anorton Ну, я тільки що закінчив робити це вручну, 27000 рядків, з деякими досить повторювані, але досить простий блок копіювання. Я б скопіював стовпець на другу сторінку, де я мав інші рядки даних ліворуч, а стовпчик - праворуч, щоб усі комірки дорівнювали заголовку вставленого стовпця, а потім скопіювали всі отримані рядки в третій аркуш за допомогою "лише вставити значення".
AJMansfield

Відповіді:


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.