Excel學習筆記:行列轉換


offset函數

功能

以指定的(單元格或相連單元格區域的引用)為參照系,通過給定偏移量得到新的引用。返回的引用可以是一個單元格也可以是一個區域(可以指定行列數,即數組)。

語法

=offset( reference, rows, cols, [height], [width])

=offset(參照單元格, 行偏移量, 列偏移量, 返回幾行, 返回幾列)

參數解釋

  • 參數Reference —— 參照單元格(單元格或相連單元格區域的引用)。否則,offset函數返回錯誤值#VALUE!
  • 參數Rows——行偏移量。正數(代表在參照單元格的下方),負數(代表在參照單元格的上方)。
  • 參數Cols——列偏移量。正數(代表在參照單元格的右邊)或負數(代表在參照單元格的左邊)。
  • 參數Height——返回幾行(必須為正數),即所要返回的引用區域的行數。
  • 參數Width——返回幾列(必須為正數),即所要返回的引用區域的列數。

最后2個參數不指定時,默認返回1行1列。

實例

輸入公式:=offset(A1,1,1,1,1) -- 返回A1的右下角單元格

輸入公式:=sum(offset(A1,1,1,2,2)) -- 返回A1的右下角2*2單元格,並進行求和

可通過F9按鈕查看數據。

另外,也可以通過選定2*2單元格,再進行輸入公式,按住三鍵CTRL+SHIFT+ENTER進行數組計算。

三鍵(CTRL+SHIFT+ENTER) -- 數組計算

行列轉換的三種方式

1.右鍵轉置

復制源數據--右鍵--選擇性粘貼--勾“轉置”,確定。

2.轉置公式TRANSPOSE

  • 列轉行 → 先選中橫向連續的N個空白單元格,在編輯欄輸入公式=TRANSPOSE($A$1:$A$10),然后按三鍵CTRL+SHIFT+ENTER即可;
  • 反之,行轉列則先選中豎向的單元格區域,后續操作類似。

$表示絕對引用,可按F4直接切換。

3.引用函數OFFSET+ROWS/COLUMN(支持隨時更新數據)

方法一、方法二只能一次性轉置,后期無法隨時更新數據。

  • 列轉行 → 輸入公式 =OFFSET($A$1,COLUMN(A1)-1,0,1,1)向右拉
  • 行轉列 → 輸入公式=OFFSET($A$1,0,ROW(A1)-1,1,1)向下拉

一行(列)轉多行多列

結合OFFSET函數與ROW/COLUMN函數進行嵌套使用,即可實現。

1.一列轉多列多行(或多行多列)

①先列后行,比如一列數據轉為四列多行。

在目標區域第一個單元格輸入以下公式,然后向右拉到第4列,再下拉直到出現空白。

=OFFSET($A$1,COLUMN(A1)-1+(ROW(A1)-1)*4,)&""

②先行后列,比如一列數據轉為四行多列。

在單元格輸入以下公式,然后向下拉到第4行,再右拉直到出現空白。

=OFFSET($A$1,ROW(A1)-1+COLUMN(A1)*4-4,)&""

2.一行轉多列多行(或多行多列)

①先列后行,比如一行數據轉為三列多行。

同樣,此例在單元格輸入以下公式,然后向右拉到第3列,再下拉直到出現空白。

=OFFSET($A$1,,(COLUMN(A1)-1)+(ROW(A1)-1)*3,)&""

②先行后列,比如一列數據轉為三行多列。

在單元格輸入以下公式,然后向下拉到第3行,再右拉直到出現空白。

=OFFSET($A$1,,(ROW(A1)-1)+(COLUMN(A1)-1)*3,)&""

3.多行多列轉一列

①先向下引用源數據,再向右引用。

單元格輸入以下公式,下拉直到出現空白。

=OFFSET($A$1,MOD(ROW(A6),6),ROW(A6)/6-1,)&""

②先向右引用源數據,再向下引用。

單元格輸入以下公式,下拉直到出現空白。

=OFFSET($A$1,ROW(A5)/5-1,MOD(ROW(A5),5))&""

4.多行多列轉一行

多行多列數據轉成單行的情況實際應用中應該不算常見,不過這里也一並整理了,若需要可直接套用公式。

①先向右引用源數據,再向下引用。

單元格輸入以下公式,右拉直到出現空白。

=OFFSET($A$1,INT(COLUMN(F1)/6)-1,MOD(COLUMN(F1),6))&""

②先向下引用源數據,再向右引用。

單元格輸入以下公式,右拉直到出現空白。

=OFFSET($A$1,MOD(COLUMN(E1),5),INT(COLUMN(E1)/5)-1)&""

①ROW()返回行號,比如ROW(A2)=2;

②COLUMN()返回列號,比如COLUMN(F1)=6;

③MOD()求余數,比如MOD(1,5)=1,即1÷5余數是1,再比如MOD(5,5)=0,因為5被5整除,沒有余數;

④上面每個公式最后都加了&"",作用是把引用空單元格得到的0去掉,顯示為空白;

⑤上面公式中用到不少逗號,(英文半角狀態下),不能隨意省略或移動位置,每一個小豆芽都有它存在的意義。

參考鏈接1:Excel中offset函數的使用方法

參考鏈接2:Excel行列互轉的三種方法

參考鏈接3:EXCEL中一列(行)轉多行多列或多行多列轉一列(行)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM