Board logo

標題: 累加問題 [打印本頁]

作者: v60i    時間: 2011-11-8 05:40     標題: 累加問題

本帖最後由 v60i 於 2011-11-8 05:45 編輯

B2=1
C2=2
D2=20
E2=1000
F2=B2+C2  →3
F3=F2+C2  →5
F4=F3+C2  →7
.
.
.
F10=F9+C2  →19
F11=B2+C2  →3
F12=F11+C2  →5
F13=F12+C2  →7
.
.
.
以上F列為傳統手動寫法

請問有什麼進階方法可以讓
F 排中的值如果大於D2=20
就自動回復成F2,F3,F4循環下去呢?
而且循環不超過E2=1000
作者: register313    時間: 2011-11-8 09:14

是這樣麼[attach]8459[/attach]
作者: GBKEE    時間: 2011-11-8 10:36

本帖最後由 GBKEE 於 2011-11-8 10:39 編輯

回復 1# v60i
F2=IF(ROW()-ROWS($F$2)<$E$2,IF(OR((F1+$C$2)>$D$2,F1=0),$B$2+$C$2,F1+$C$2),"")    公式下拉
作者: howdyisme    時間: 2011-11-8 15:56

回復 3# GBKEE


    [attach]8462[/attach]奇怪,我的跑不出來....
作者: GBKEE    時間: 2011-11-8 18:01

回復 4# howdyisme
附檔來看看
作者: v60i    時間: 2011-11-8 21:45

回復 2# register313


    謝謝大大的熱心
可是我事小學生 無法下載

作者: v60i    時間: 2011-11-8 22:27

本帖最後由 v60i 於 2011-11-8 22:48 編輯

回復 3# GBKEE


  大大你的方法 F2 會少一個耶
E2=11
F2~F11 只會出現10個
希望是出現F2~F12 共11欄
作者: Hsieh    時間: 2011-11-8 22:39

本帖最後由 Hsieh 於 2011-11-8 22:41 編輯

回復 6# v60i


    不懂所謂不超過E2=1000是甚麼意思
F欄的數值跟E2有甚麼關聯?
[attach]8469[/attach]
作者: v60i    時間: 2011-11-8 22:45

本帖最後由 v60i 於 2011-11-8 22:46 編輯

E2 的值=F排中出現的次數

如E=10 則 出現F2~F11 均有直 F11後無值
如E=20 則 出現F2~F21 均有直 F21後無值
作者: Hsieh    時間: 2011-11-8 23:03

  1. Sub yy()
  2. k = [E2]
  3. ReDim ar(k)
  4. Do While i < k
  5.    For j = [B2] + [C2] To [D2] Step [C2]
  6.      ar(i) = j
  7.      i = i + 1
  8.      If i = k Then Exit For
  9.    Next
  10. Loop
  11. [F:F] = ""
  12. [F2].Resize(k, 1) = Application.Transpose(ar)
  13. End Sub
複製代碼
回復 9# v60i
作者: v60i    時間: 2011-11-8 23:21

回復 10# Hsieh


    大大 如果E2值跟B2值都在SHEET 2 那該怎麼改呢?
作者: Hsieh    時間: 2011-11-8 23:34

回復 11# v60i
  1. Sub yy()
  2. k = sheet2.[E2]
  3. ReDim ar(k)
  4. Do While i < k
  5.    For j = sheet2.[B2] + [C2] To [D2] Step [C2]
  6.      ar(i) = j
  7.      i = i + 1
  8.      If i = k Then Exit For
  9.    Next
  10. Loop
  11. [F:F] = ""
  12. [F2].Resize(k, 1) = Application.Transpose(ar)
  13. End Sub
複製代碼

作者: v60i    時間: 2011-11-9 01:02

回復 12# Hsieh


    大大 你得[F:F] = ""
市蛇麼意思呢
作者: GBKEE    時間: 2011-11-9 07:18

回復 7# v60i
F2=IF(ROW()-ROWS($F$2)<=$E$2,IF(OR((F1+$C$2)>$D$2,F1=0),$B$2+$C$2,F1+$C$2),"")
作者: howdyisme    時間: 2011-11-9 08:40

回復 5# GBKEE


    [attach]8472[/attach]如附件,謝謝大大撥冗幫忙!
作者: GBKEE    時間: 2011-11-9 12:41

本帖最後由 GBKEE 於 2011-11-9 12:45 編輯

回復 15# howdyisme
=IF(ROW()-ROWS($F$2)<=$E$2,IF(OR((F1+$C$2)>$D$2,F1=0),$B$2+$C$2,F1+$C$2),"")
你的檔案有點怪異,找不出你是如何造成的
為何 F1    這相對位置沒隨位置來改變, 可是$C$2 這絕對位置 ,卻會隨位置來改變   
正常公式如圖:


[attach]8480[/attach]
作者: v60i    時間: 2011-11-9 19:42

本帖最後由 v60i 於 2011-11-9 19:45 編輯

回復 14# GBKEE


    大大 我發現如果把F2  換成F30  那次數會有點問題說

我直接亂稿 ROWS()-28  就OK了
作者: howdyisme    時間: 2011-11-9 20:33

回復 16# GBKEE


    大大我發現端倪了,可能是新版EXCEL的緣故,不能用","而是要以";"來做分界,我這樣下拉就可以正常顯示了!




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