在Excel中如何从单个数据行创build多行

我有一个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表,所以我可以做到这一点,如果这使得它更容易

任何人有什么build议如何最好地sorting呢?

只需在SQL中创build一个UNION

 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 

如果您没有使用SQL的选项,并且需要使用Excel。 您可以使用TRANSPOSEfunction。 这是一个数组types的函数,所以你需要使用{}。 如果您还没有使用它,我build议先阅读帮助。 然而,我不认为你可以使用转置来完全按照你的描述。 id和desc列必须分开处理。

您需要在新工作表中添加下一个公式:

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

这就像一个骷髅:)

第一行是标题

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

autofil col C与它

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

autofil col E与它

多一个 – 你的数据表是“sheet1”