標題:

Excel 多欄合併為一欄

發問:

圖片參考:http://www.badongo.com/t/250/10257517.jpg 我的Excel表格設定如上圖所示, 此為15*4的表格, 欲在f欄中可以得到60*1的內容 暫不考慮數值重複問題, 在A~D欄底下會隨時補資料進來 希望除了用剪下+貼上的方法解決之外 能用函數取代之。 http://www.funp.net/114899 望各位Excel高手解惑,有勞各位。 更新: TO 老年人: 假設F9內數值已轉換為715011,那在F10內的數值希望是815011, 望能夠跳過空格讀下一個欄位的值。勞煩您了!~ 更新 2: 因VBA我較不懂!~另可說明為何不能用函數解此題嗎? 那可大略解說一下程式碼,感恩!~ 另A10(或其他空格)原本為空值,會因需要而書輸入數值, 希望能得到一整串數列,其中間並無空白、0、錯誤碼產生!~ 更新 3: VBA該如何解決? 更新 4: Worlon 大師您好: 我將您的程式碼最後面加上&"",不會有產生0的現象 感謝Worlon 大師的協助。最佳解答就是您了。 若其他高手有較好方法解決,歡迎討論。

最佳解答:

試試 : F1 輸入陣列公式如下 : =INDIRECT(TEXT(RIGHT(SMALL(IF(A$1:D$15="",999999,COLUMN(A$1:D$15)*10001+ROW(A$1:D$15)*100),ROW()),4),"!R00!C00"),) 再下拉至 F60 ~ 2010-08-18 13:45:33 補充: 陣列公式簡單說明參考 : http://tw.myblog.yahoo.com/jw!_DIL5waFHwVKfL8odMZ4urti/article?mid=1204&prev=1217&next=1191&l=f&fid=17 2010-08-18 16:03:22 補充: F1 輸入陣列公式如下 : =INDIRECT(TEXT(RIGHT(SMALL(IF(A$1:D$15="",999999,COLUMN(A$1:D$15)*10001+ROW(A$1:D$15)*100),ROW()),4),"!R00!C00"),) 再下拉至 F60 ~ 可依需求加 "", 因為這會把數字轉成文字, 所以剛開始時沒加 ~ 如果不想把數字轉成文字, 那就試試以下陣列公式 : =IF(ROW()>COUNTA(A$1:D$15),"",INDIRECT(TEXT(RIGHT(SMALL(IF(A$1:D$15="",999999,COLUMN(A$1:D$15)*10001+ROW(A$1:D$15)*100),ROW()),4),"!R00!C00"),))

其他解答:

aa.jpg

 

此文章來自奇摩知識+如有不便請留言告知

壹霸昏了可以選正解,個人見解。|||||F1=+OFFSET($A$1,MOD(ROW(),15)-1+15*(MOD(ROW(),15)=0), INT(ROW()/15.1) 向下複製到F60 完成|||||可接受用vba處理嗎?|||||=INDEX($A$1:$AS$15,IF(MOD(ROW(),15)=0,10,MOD(ROW(),15)),INT(ROW()/15+IF(MOD(ROW(),15)=0,0,1))) 試試看. 2010-08-17 16:32:18 補充: 在F1 輸入此公式再往下拉至 F60 即可.FBEFE3C2E0474026

arrow
arrow
    創作者介紹
    創作者 ceui4w8 的頭像
    ceui4w8

    百科全書

    ceui4w8 發表在 痞客邦 留言(0) 人氣()