excel中數組除了從表格中選區,還有一種方式就是 通過函數來構造,這裡介紹 row函數和column函數來構造數組,實現表格轉換的功能
下面的這個案例 是將左邊的 列 轉為右邊的多行數據
一 : 首先演示一下實現這個功能的完整操作:
解釋 : "A"&(COLUMN(M:M)+(ROW(1:1)*4-4)) 這個公式中
COLUMN(M:M) 參數M:M是因為我是從13開始的數字
ROW(1:1)*4-4 構造的是一個等差值為4的等差數列
更加詳細的解釋 看下面哦
二 : 看完了上面的操作可能有點迷糊,下面分步來解釋過程
這個案例中涉及到使用函數來構造序列,先看下下面的這個小例子:
(1) : 實現下面這樣的序列:
觀察上面的表格發現 A B C三列數據都是等差數列,
A列的等差是1 B列的等差是2 C列的等差是4
下面的操作是 實現這3個數列 :
經過觀察發現 A列的生成公式是 : =ROW()*1 (ps:A列的等差是1 所以是 ROW()*1)
B列的生成公式是 : =ROW()*2-2 (ps:A列的等差是2 所以是 ROW()*2後面-2是因為第一個是數字是0)
C列的生成公式是 : =ROW()*4-4 (ps:A列的等差是4 所以是 ROW()*4後面-4是因為第一個是數字是0)
經過上面的案例得出一個結論:生成一個等差數列的公式就是:row()*等差值
(2) 下面完成這兩個表格之間的轉換
仔細觀察這兩個表格的特點 內容是一樣的; 「轉換之後的表格」 這個表格是引用了「原表格」的內容 下面展示了兩個表格之間的內容對應關係:如圖:
這張圖表達的意思就是 「轉換之後的表格」「女裝」 對應的就是 a13單元格 內容 , "冬上衣" 對應的就是 a14單元格的內容 ,以此類推就看出了表格的對應關係。
再進一步變化(去除漢字)得到只有 a13...a24的表格如圖 :
下面需要解決的就是 使用 函數來構造一個這樣的表格 、觀察表格裡面的這些數字 :
現在需要使用函數來生成13-24之間的數字,並且可以實現換行
先用column函數來構造 最基本的數組 :
得到的這個二維數組並不是我們想要的結果,
觀察這個二維數組中的數字 發現 第一行每個數字+0;第二行每個數字加4; 第3行每個數字加8 如圖:
可以看出 0 4 8 是一個等差數列 , 在第一個案例中已經介紹了如何使用row函數生成等差數列;
下面用公式來生成 0 4 8 這個等差數列 :
再用每一行的每個數字加上 0 4 8 操作如下 :
得到的這個二維數組 與我們的目標很相近了,在再數組前面字母A:
下面的操作就是簡單了 上一步得到的表格 ; 並變成公式,操作如下:
到這裡這個功能分布解釋操作就完成了