Board logo

標題: [發問] "分組欄"--想多一欄作為分組欄 [打印本頁]

作者: ui123    時間: 2013-11-6 21:41     標題: "分組欄"--想多一欄作為分組欄

不好意思~想向請問大家一個問題!

1) 如果我有一欄資料,如:
4400
4500
4504
4505
4502
4511
4522
4531
4522
4568
5010
....等

2) 想用VBA自動多一欄(B欄),條件如:

開始:以4500為開始 (含下界,不含上界)
組距:每5作為一組
結束:5000 (超過5000命名為5000以上)
且希望"開始,組距,結束"可以在某三格儲存格做修改

3)結果對應如下:
A欄         B欄(VBA判的)
4400      4500以下
4500      4500
4504      4500
4505      4505
4502      4500
4511      4510
4522      4520
4531      4530
4522      4520
4568      4565
5010      5000以上

好難>""<  謝謝 (~無法下載rar等檔案.....)
作者: luhpro    時間: 2013-11-6 22:20

本帖最後由 luhpro 於 2013-11-6 22:21 編輯

回復 1# ui123
假設 :
E2=5000        (上界)
F2=4500 (下界)
G2=5 (間距)
  1. Sub nn()
  2.   Dim lTop&, lBtm&, lStep&, lRow&
  3.   
  4.   lTop = [E2]
  5.   lBtm = [F2]
  6.   lStep = [G2]
  7.   lRow = 1
  8.   Do While Cells(lRow, 1) <> ""
  9.     With Cells(lRow, 1)
  10.       Select Case .Value
  11.         Case Is > lTop
  12.           .Offset(, 1) = lTop & "以上"
  13.         Case Is < lBtm
  14.           .Offset(, 1) = lBtm & "以下"
  15.         Case Else
  16.           .Offset(, 1) = Int(.Value / lStep) * lStep
  17.       End Select
  18.       lRow = lRow + 1
  19.     End With
  20.   Loop
  21. End Sub
複製代碼

作者: sunnyso    時間: 2013-11-7 01:40

回復 1# ui123

沒必要用VBA

A2=4400
A3=4500
A4=4504
...
A12=4568
B2=IF(A2<4500,"4500以下", IF(A2>5000,"5000以上", INT(A2/10)*10+5*(MOD(A2,10)>=5)))

公式向下複製
作者: ui123    時間: 2013-11-7 07:23

非常感謝 luhpro
解答我心中的問題 ~
----------------------------------------------
謝謝sunnyso
謝謝您提供另一條路,受益良多 !




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