Excel表格中將多行數據轉換為單行的方法有很多,下面小編會為大家介紹怎么用公式將其轉換。
假如Sheet1表的A2:E7區域有6行5列的數據需要轉換到Sheet2表的A列,如圖所示。
一、按先行后列的順序轉換
即先提取第一行的數據,再依次其他各行。在Sheet2的A1單元格輸入公式:
=OFFSET(Sheet1!A$2,ROW(A5)/5-1,MOD(ROW(A5),5))
或:
=OFFSET(Sheet1!$A$2,INT((ROW(A1)-1)/5),MOD(ROW(A1)-1,5))
或:
=INDIRECT(“Sheet1!”&ADDRESS(INT((ROW(A1)-1)/5)+2,MOD(ROW(A1)-1,5)+1,4))
然后向下填充公式到最后一個數據,結果如下圖。
第一個公式中OFFSET函數的第二個參數“ROW(A5)/5-1”在某些單元格中可能會返回小數,OFFSET函數會自動取整。后兩個公式中的 “INT((ROW(A1)-1)/5)”在向下填充時依次生成5個相同數為一組的序列數“0、0、0、0、0、1、1、1、1、1、2、2、2、2、 2……”,“MOD(ROW(A1)-1,5)”則依次生成“0、1、2、3、4”并循環。本例為6行5列,如果為N行M列,可將公式中用紅色標識的數字 “5”改為M。
二、按先列后行的順序轉換
即先提取第一列的數據,再依次其他各列。在Sheet2的A1單元格輸入公式:
=OFFSET(Sheet1!A$2,MOD(ROW(A6),6),ROW(A6)/6-1)
或:
=OFFSET(Sheet1!$A$2,MOD(ROW(A1)-1,6),INT((ROW(A1)-1)/6))
或:
=INDIRECT(“Sheet1!”&ADDRESS(MOD(ROW(A1)-1,6)+2,INT((ROW(A1)-1)/6)+1,4))
本例為6行5列,如果為N行M列,可將公式中用紅色標識的數字“6”改為N。
以上內容便是Excel將多列數據轉換為單列數據的教程了,大家可以學習一下,大家可以關注教程之家,里面有更多精彩教程帶給大家。