В Excel, как создать несколько строк из одной строки данных - PullRequest
2 голосов
/ 22 января 2010

У меня есть таблица данных execl с данными, похожими на эти

id  desc        part no 1      Qty 1   part no 2   Qty 2   part no 3    Qty 3   
1   PartsName   382A012-3-0 3       382A023-3   3       382A012-25   3      

И нужно, чтобы это выглядело так

id  desc           part no          Qty
1    PartsName     382A012-3-0       3
1    PartsName     382A023-3/42-0    3
1    PartsName     382A012-25/86-0   3

Это из таблицы SQL, так что я мог бы сделать это в SQL, если это облегчает

У кого-нибудь есть предложения, как лучше отсортировать это?

Ответы [ 3 ]

2 голосов
/ 22 января 2010

Просто сделайте UNION в SQL

SELECT id, desc, partNo, qty FROM parts 
UNION SELECT id, desc, partNo2 as partNo, qty2 as qty FROM parts 
UNION SELECT id, desc, partNo3 as partNo, qty3 as qty FROM parts 
ORDER BY id
1 голос
/ 22 января 2010

Если у вас нет возможности использовать SQL и вам нужно использовать Excel. Вы можете использовать функцию TRANSPOSE. Это функция типа массива, поэтому вам нужно использовать {}. Если вы не использовали его раньше, я рекомендую сначала прочитать справку. Я, однако, не думаю, что вы можете использовать transpose, чтобы получить именно то, что вы описываете. Столбцы id и desc должны обрабатываться отдельно.

0 голосов
/ 23 января 2010

Вам нужно добавить следующие формулы на новый лист:

column A=MOD(ROW()+1,3)

это как скелет:)

Первый ряд - заголовки

column B
=IF($A2=0,OFFSET(Sheet1!$A$1,COUNTIF($A$2:$A2,0),COLUMN()-2),B1)

автозаполнение с ц

column D
=OFFSET(Sheet1!$A$1,COUNTIF($A$2:$A2,0),COLUMN()+CHOOSE($A2+1,-2,0,2))

автозаполнение кол E с ним

еще один - ваш лист данных "sheet1"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...