Board logo

標題: [發問] 自動增加列問題2 [打印本頁]

作者: kan109    時間: 2017-5-19 02:36     標題: 自動增加列問題2

A,B 欄為文字, C為年份開始,D為年份終結,E為出理年份次數
請問怎樣可以實現如H,I,J 般(可以在另一工作表)
跟據E出現年份次數,自動新增列而H,I 均為A,B文字

如此類推
[attach]27198[/attach]
作者: hcm19522    時間: 2017-5-19 14:00

http://blog.xuite.net/hcm19522/twblog/507097631
作者: kan109    時間: 2017-5-20 01:15

回復 2# hcm19522
想請問,我的資料裡A-E有13500,是不是直接改($1:$13500)
如下
H2:I13500=OFFSET(A$2,SUMPRODUCT((ROW(A1)>SUBTOTAL(9,OFFSET($E$2,,,ROW($1:$13500))))*1),)&""

J2:J13500=OFFSET(C$2,SUMPRODUCT((ROW(C1)>SUBTOTAL(9,OFFSET($E$2,,,ROW($1:$13500))))*1),)+COUNTIF(H$2:H2,H2)-1&""

試了1000,但 Load 很久
作者: kan109    時間: 2017-5-26 10:36

請問有沒有方法可以處理超過10000的資料
作者: 准提部林    時間: 2017-5-26 13:51

Sub TEST()
Dim R&, Arr, Brr, SS&, N&, i&, j&
[H:J].ClearContents
R = Cells(Rows.Count, 1).End(xlUp).Row
Arr = Range("A1:E" & R)
SS = Application.Sum([E:E])
ReDim Brr(1 To SS, 1 To 3)
For i = 1 To UBound(Arr)
  For j = Arr(i, 3) To Arr(i, 4)
    N = N + 1
    Brr(N, 1) = Arr(i, 1)
    Brr(N, 2) = Arr(i, 2)
    Brr(N, 3) = j
  Next j
Next

[H1:J1].Resize(SS) = Brr
End Sub
 
[attach]27229[/attach]
 




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)