返回列表 上一主題 發帖

excel 可以把直便成行嗎?

本帖最後由 Hsieh 於 2012-2-19 23:30 編輯

回復 1# v60i
選取E2(就是要橫向顯示的第一列位置)
新增定義名稱x
=OFFSET(Sheet1!$A$1,(ROW(Sheet1!$A1)-1)*3,,3,)
選取E2:G2
輸入陣列公式
=TRANSPOSE(x)
向下複製
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2012-2-19 23:33 編輯

回復 5# v60i
這個用法一點也不深奧
OFFSET函數如果能找到原點後,取固定列數就是每列要呈現的位置
所以,(ROW(A1)-1)*3就會依據公式所在位置每列位移3列後為新原點
然後以新原點擴展成3列1欄

當然這樣得到的結果是3個值,而且是直列的陣列
如果將這3個值直接在儲存格公式中使用TRANSPOSE轉置
每一格都會取這個陣列的第一個值作為答案
所以必須讓直列的範圍先定義成名稱後
再以三欄一列的範圍來填入陣列,EXCEL就會自動以儲存格順序填入此陣列
所以當A欄範圍向下移動,只要將原來A1的位置改成新的資料起點即可
學海無涯_不恥下問

TOP

回復 22# chen_cook

在A7為作用儲存格建立名稱
x=INDEX(Sheet1!$A$1:$C$3,INT((ROW(Sheet1!$A1)-1)/3)+1,)
y=INDEX(Sheet1!$A$1:$C$3,,INT((ROW(Sheet1!$A1)-1)/3)+1)
儲存格公式
A7=IF(ROW($A1)>COUNTA($A$1:$C$3),"",INDEX(x,,MOD(ROW($A1)-1,3)+1))
B7=IF(ROW($A1)>COUNTA($A$1:$C$3),"",INDEX(y,MOD(ROW($A1)-1,3)+1,))
  
學海無涯_不恥下問

TOP

回復 26# yagami12th

請教一下,EXCEL中如何使用matlab語言?
學海無涯_不恥下問

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題