ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] °j°é°ÝÃD

[µo°Ý] °j°é°ÝÃD

¥»©«³Ì«á¥Ñ spermbank ©ó 2012-3-21 02:01 ½s¿è

¦U¦ì¤j¤j¦n:
ªþÀɬ°­pºâC°ÏªÑ»ùÀò§Q1%ªºÀò§QªÑ»ù¡BÀò§Q%¼Æ¡BÀò§Qª÷ÃB
¦]¬°¤âÄò¶O»PÃÒ¥æµ|°ÝÃD¡A¾É­PµLªkº¡¨¬Àò§Q1%

§Ú·Q³]­p°j°é¡A±N¤âÄò¶O»PÃÒ¥æµ|¨Ö¤J­pºâ¹L¤§«á¡AÀò§Q¤p©ó©Îµ¥©ó1%(Áͪñ¤p©ó1%)ªºÀò§QªÑ»ù¡BÀò§Qª÷ÃB

¥i¬O¤£ª¾¹D«ç»ò³]­p°j°é¡A½Ð¤j¤j­Ì«ü±Ð¡AÁÂÁ¡C

test.rar (20.17 KB)

¦^´_ 1# spermbank


    °ò¥»ªº¹BºâÁ`¸Ó­n´£¨Ñ¤@¤U§a~
    ­þ¨ÇÄæ¦ìªº­pºâ¬O­þ¨Ç­È¶i¦æ¹Bºâ~
    ¨Ã¤£¬O©Ò¦³¤H³£À´~ ³o¨Ç¬O«ç»ò¹Bºâºw­ò~
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 2# hugh0620


    Àò§QªÑ»ù = C°ÏªÑ»ù*1%  
    Buy = C°ÏªÑ»ù*1000 + C°ÏªÑ»ù*¤âÄò¶O²v*¥´§é
    Sell = Àò§QªÑ»ù*1000 - Àò§QªÑ»ù*¤âÄò¶O²v*¥´§é-Àò§QªÑ»ù*ÃÒ¥æµ|
    Àò§Q%¼Æ = (Sell - Buy)/Buy
    Àò§Qª÷ÃB = Sell-Buy
    ¥t¥~:¤âÄò¶O¡A­Y¤p©ó20¤¸¥H20¤¸­pºâ¡C

    §Q¥Î³]­p°j°é©Î¬O¤°»ò¤è¦¡
    ¥i¥HÅýÀò§QªÑ»ù(·s)¦©°£¤âÄò¶O»PÃÒ¥æµ|¡A¯àÅýÀò§Q%¼ÆÁͪñ1%¤ÎÀò§Qª÷ÃB
    ·Q¤£¤Ó¥X¨Ó«ç»ò¨Ó¼g¡A½Ð¦U¦ì¤j¤j«ü±Ð¡C

TOP

¦^´_ 3# spermbank


     ³o­Ó¤£¬Oµ{¦¡¹B¥Îªº°ÝÃD~
     ³o¬O¤@­Ó¹Bºâªº°ÝÃD~
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2012-3-22 10:35 ½s¿è

¦^´_ 3# spermbank

³o¬O§A»Ý­n¥h«ä¦Ò~ ­þ¤@¨Ç¬O¹Bºâ¤¤°Ê¼Æ(x)=>ì§Q1%ªº·sªÑ»ù~ ¦b½æ¥X»ùªº®É­Ô
©Ò¥H~ ¶R»ù¬O¤@­Ó¬J©wªº¨Æ¹ê±¡ªp¤U~ ¥h±Àºâ[ì§Q1%ªº·sªÑ»ù]
¦]¦¹²Ä¤G­Ó°j°é~ §Ú¥Îªº¬O do  loop
¥ý¨D±o°ò¥»ªº°Ñ¼Æ­È
1. ¶R:ªÑ»ù/¤âÄò¶O
¦A¨Ì¶RªºªÑ»ù¨ÌªÑ»ù­ì«h¤@­Ó­È¤@®æ­Ó­È¥h±Àºâ¤p©ó©Îµ¥©ó1%Àò§QªÑ»ù
2.¥Îdo loop¥h±Àºâ½æ¥XªºªÑ»ù
  1. Sub nn()

  2. '=========================='½Õ¾ãC°ÏªÑ»ù³W«h
  3. For Each A In Range("A:A").SpecialCells(xlCellTypeConstants, xlNumbers)
  4. B = Application.Lookup(A, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5))
  5. A.Offset(, 2) = Application.Ceiling(A, B)
  6. Next
  7. '=========================='Àò§Q1%ªÑ§Q­pºâ¡A¤£¥]§t¤âÄò¶O¡BÃÒ¥æµ|
  8. Sheets("Sheet1").Select
  9. x = Application.WorksheetFunction.CountA(Range("A:A")) 'Äæ¦ì¦³­È½d³ò­pºâ
  10. For i = 2 To x
  11.     Cells(i, "G") = Cells(i, "C") * Cells(9, "O") + Cells(i, "C")
  12. Next
  13. '=========================='½Õ¾ãÀò§QªÑ»ù³W«h
  14. For Each A In Range("G:G").SpecialCells(xlCellTypeConstants, xlNumbers)
  15. B = Application.Lookup(A, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5))
  16. A.Offset(, 0) = Application.Ceiling(A, B)
  17. Next
  18. '=========================='­pºâÀò§Q1%¦©°£¤âÄò¶O»PÃÒ¥æµ|ª÷ÃB
  19. Sheets("Sheet1").Select
  20. x = Application.WorksheetFunction.CountA(Range("A:A")) 'Äæ¦ì¦³­È½d³ò­pºâ

  21. For i = 2 To x
  22.         K = Cells(i, "C")    '¶R¶iªÑ»ù¡A¬O¤@­Ó©T©w­Èªº±ø¥ó¤U¡A±Àºâì§Q±µ±µªñ1%®ÉªºªÑ»ù¤ÎÀò§Q
  23.         If K * 1000 * 0.001425 * 0.28 <= 20 Then '¶R¶i¤âÄò¶O¬O¤@­Ó¤wµo¥Íªº±ø¥ó¡A­Y§C©ó20¶ê¡A«h¬°20¶ê¡A
  24.             ABuyP = 20
  25.         Else
  26.             ABuyP = B * 1000 * 0.001425 * 0.28
  27.         End If
  28.         ABuy = K * 1000 + ABuyP
  29.         B1 = Application.Lookup(K, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5)) 'ªÑ»ù¼W¥[¤ñ²v
  30.         J = 0
  31.         Do
  32.         B2 = B1 * J
  33.         If (K + B2) * 1000 * 0.001425 * 0.28 <= 20 Then '½æ¥X¤âÄò¶O­Y§C©ó20¶ê¡A«h¬°20¶ê
  34.             ABuyP1 = 20
  35.         Else
  36.             ABuyP1 = (K + B2) * 1000 * 0.001425 * 0.28
  37.         End If
  38.         ASell = (K + B2) * 1000 - (K + B2) * 1000 * 0.003 - ABuyP1
  39.         A = (ASell - ABuy) / ABuy
  40.         J = J + 1
  41.         Loop While A <= 0.01     '³f§Q¦b>=0.01®É¡A°±¤î¹Bºâ
  42.         Cells(i, "K") = K + B2 - B1 '­pºâÀò§Q¦©°£¤âÄò¶O»PÃÒ¥æµ|ªºÀò§Q%¼Æ
  43.         Cells(i, "L") = (((K + B2 - B1) * 1000 - (K + B2 - B1) * 1000 * 0.003 - ABuyP1) - ABuy) / ABuy
  44.         Cells(i, "M") = (((K + B2 - B1) * 1000 - (K + B2 - B1) * 1000 * 0.003 - ABuyP1) - ABuy) '­pºâÀò§Q¦©°£¤âÄò¶O»PÃÒ¥æµ|ªºÀò§Qª÷ÃB
  45. Next


  46. End Sub
½Æ»s¥N½X
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2012-3-26 09:26 ½s¿è

¦^´_ 3# spermbank


    ¥ô¦ó¨D¸Ñ«á~ ­n¦A¶i¦æÅçºâ~
    ¤w½T«O§Ú­Ìªº³]­p©Ò­pºâ¥X¨Óªºµ²ªG¬O²Å¦X§Ú­Ì¹BºâªºÅÞ¿è
    ¥H¤U¹ÏN~SÄæ¬OÅçºâªºµ²ªG~
    ´£¨ÑN~SÄæ²Ä¤G¦Cªº¤½¦¡µ¹§A½Æºâ
    N2=IF(C2* 1000 * 0.001425 * 0.28 <= 20,20,C2* 1000 * 0.001425 * 0.28 )
    O2=C2*1000+N2
    P2=IF(K2* 1000 * 0.001425 * 0.28 <= 20,20,K2* 1000 * 0.001425 * 0.28)
   Q2=K2 * 1000 - K2* 1000 * 0.003-P2
    R2=(Q2-O2)/O2
    S2=Q2-O2
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¥»©«³Ì«á¥Ñ spermbank ©ó 2012-3-24 00:07 ½s¿è

¦^´_ 6# hugh0620

    ¤j¤j§A¦n:

    §Ú¦b¤u§@ªí(sheet2)§Q¥Î¤ÏÅçÃÒ
    §Q¥ÎC°ÏªÑ»ù»P¤j¤j§Q¥Î°j°é³]­p¥X¨ÓªºÀò§QªÑ»ù(·s)­«·sÅçÃÒÀò§Q¤p©ó©Îµ¥©ó1%Àò§Q»PÀò§Qª÷ÃB
    ÁöµM°j°é¥iÅý·sªºªÑ»ùÁͪñ©ó1%
    ¦ý¬O¦³³¡¤ÀÀò§QªÑ»ù»PÀò§Q%¼Æ¡BÀò§Qª÷ÃB¹Bºâ¦³»~(sheet2¶À¦â¼Ð°O³B)
    §Ú§ä¤£¥X¹Bºâ¨ºÃä¥X°ÝÃD
    ¥i§_½Ð¤j¤jÀ°§Ú¦A¬ã¨s¤@¤U¡AÁÂÁ¡C

test1.rar (30.71 KB)

TOP

  1. Sub Ex()
  2. Dim ¤âÄò¶O As Integer, N As Integer, B As Single
  3. Sheets("Sheet1").Select
  4. Sheets("Sheet1").Names.Add "¤âÄò¶O²v", 0.001425
  5. Sheets("Sheet1").Names.Add "¥´§é", 0.28
  6. Sheets("Sheet1").Names.Add "ÃÒ¥æµ|²v", 0.003
  7. '=========================='½Õ¾ãC°ÏªÑ»ù³W«h
  8. For Each A In Range("A:A").SpecialCells(xlCellTypeConstants, xlNumbers)
  9.     B = Application.Lookup(A, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5))
  10.     A(1, "C") = Round(A, 2) * 1000              '¶R¶iªÑª÷
  11.     ¤âÄò¶O = IIf(A(1, "C") * [¤âÄò¶O²v] * [¥´§é] > 20, A(1, "C") * [¤âÄò¶O²v] * [¥´§é], 20)
  12.     A(1, "D") = ¤âÄò¶O                          '¤âÄò¶O
  13.     A(1, "E") = A(1, "C") + ¤âÄò¶O
  14.     N = 1                                       '
  15.     A(1, "G") = Round(Round(A, 2) + (B * N), 2) 'C°ÏªÑ»ù
  16.     A(1, "H") = "=RC[-1]*1000"                  '½æ¥XªÑª÷
  17.     A(1, "I") = "=Round(IF(RC[-1] *¤âÄò¶O²v * ¥´§é > 20, RC[-1] * ¤âÄò¶O²v * ¥´§é, 20), 0)" '½æ¥X¤âÄò¶O
  18.     A(1, "J") = "=Round(RC[-2] *ÃÒ¥æµ|²v,0)"                                                'ÃÒ¥æµ|
  19.     A(1, "K") = "=RC[-3]-RC[-2]-RC[-1]"                                                     '½æ¥Xª÷ÃB
  20.     A(1, "M") = "=RC[-2]-RC[-8]"                                                            'Àò§Qª÷ÃB
  21.     A(1, "N") = "=(RC[-3]-RC[-9])/RC[-9]"                                                   'Àò§Q%¼Æ
  22.     '
  23.     A(1, "N").GoalSeek Goal:=0.01, ChangingCell:=A(1, "G") '***** ¥Ø¼Ð·j´M  Àò§Q%¼Æ=0.01 ·|¨D±o±µªñªº[½æ»ù]
  24.     '****  ¤]¥i¥Î°j°é¨D¸Ñ   ¨D¸Ñ«áªº[½æ»ù] ·|¬O¯u¹êªº[[ ÀÉ»ù ]]     ********
  25.     'Do Until A(1, "M") >= A(1, "E") * 0.01          '    Àò§Q%¼Æ=0.01
  26.     'N = N + 1
  27.     'A(1, "G") = Round(A, 2) + (B * N)
  28.     'Loop
  29.     '*******************************
  30.     A(1, "G").Resize(, 8) = A(1, "G").Resize(, 8).Value     '®ø°£¤½¦¡Åã¥Ü­È
  31. Next
  32. End Sub
½Æ»s¥N½X
¦p¹Ï ½Ð­×§ï Äæ¦ì¦WºÙ

TOP

¦^´_ 8# GBKEE


    G¤j±z¦n:

    §ÚRUN¹L¤@¹M
    µo²{A°ÏªÑ»ù¡BC°ÏªÑ»ù¨S¦³½Õ¾ã²Å¦X¤U¦C³W«h:
    ¼Æ¦r°Ï¶¡0-10           ¸õ°Ê+-0.01   
    ¼Æ¦r°Ï¶¡10-50         ¸õ°Ê+-0.05
    ¼Æ¦r°Ï¶¡50-100      ¸õ°Ê+-0.1
    ¼Æ¦r°Ï¶¡100-500    ¸õ°Ê+-0.5
    ¼Æ¦r°Ï¶¡500-1000  ¸õ°Ê+-1
    ¼Æ¦r°Ï¶¡1000¥H¤W   ¸õ°Ê+-5
    ¨Ò¦p:
    ¼Æ¦r  6.7894  ¨ú 6.79  (¥u­n¼Æ¦r¤j©ó6.78´N¶i¦ì¨ú6.79)   
    ¼Æ¦r  10.68    ¨ú10.7   (¥u­n¼Æ¦r¤j©ó10.65´N¶i¦ì¨ú10.7)
    ¼Æ¦r  56.92    ¨ú57      (¥u­n¼Æ¦r¤j©ó56.9´N¶i¦ì¨ú57)
    ¼Æ¦r  103.42 ¨ú103.5    (¥u­n¼Æ¦r¤j©ó103´N¶i¦ì¨ú103.5)
    ...µ¥µ¥
    §Ú¹Á¸Õ§âA.Offset(, 0) = Application.Ceiling(A, B)¶ë¤Jµ{¦¡½X²Ä9¦Ü10¦æ¤¤¶¡
    ¥i¥H¸Ñ¨M¶R¶iªÑ»ù²Å¦X¼Æ¦r³W«h¡AÅý¤âÄò¶O¡B¶R¶iª÷ÃB¤]²Å¦X
    ¥i¬O§Ú«o¤£ª¾¹D­n¦p¦ó½Õ¾ãC°ÏªÑ»ù¤]²Å¦X¼Æ¦r³W«hªº±¡ªp¤U
    ¨D±o¦©°£¤âÄò¶O¡BÃÒ¥æµ|«á¡AÀò§Q%¼Æ¤p©ó©Îµ¥©ó1%ªºÀò§Qª÷ÃB
    ¥i½ÐG¤j¦AÀ°§Ú¬Ý¬Ý¡AÁÂÁ¡C

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-3-25 16:40 ½s¿è

¦^´_ 9# spermbank
   
§Ú¹Á¸Õ§âA.Offset(, 0) = Application.Ceiling(A, B)¶ë¤Jµ{¦¡½X²Ä9¦Ü10¦æ¤¤¶¡
    ¥i¥H¸Ñ¨M¶R¶iªÑ»ù²Å¦X¼Æ¦r³W«h¡AÅý¤âÄò¶O¡B¶R¶iª÷ÃB¤]²Å¦X
    ¥i¬O§Ú«o¤£ª¾¹D­n¦p¦ó½Õ¾ãC°ÏªÑ»ù¤]²Å¦X¼Æ¦r³W«hªº±¡ªp¤U

¬O­n­×§ïA°ÏªÑ»ù§a ªþÀɤ¤²Ä¤@­ÓªÑ»ù¬°   12.3333333
  1. Sub Ex()
  2. Dim ¤âÄò¶O As Integer, N As Integer, B As Double
  3. Sheets("Sheet1").Select
  4. Sheets("Sheet1").Names.Add "¤âÄò¶O²v", 0.001425
  5. Sheets("Sheet1").Names.Add "¥´§é", 0.28
  6. Sheets("Sheet1").Names.Add "ÃÒ¥æµ|²v", 0.003
  7. '=========================='½Õ¾ãC°ÏªÑ»ù³W«h
  8. For Each A In Range("A:A").SpecialCells(xlCellTypeConstants, xlNumbers)
  9.     B = Application.Lookup(A, Array(0, 11, 51, 101, 501, 1001), Array(0.01, 0.05, 0.1, 0.5, 1, 5))
  10.     A.Value = Application.Ceiling(A, B)             '¦b¦¹­×§ï A°ÏªÑ»ù²Å¦X¶R½æªÑ»ù³W«hªº[[ ÀÉ»ù ]]
  11.     A(1, "C") = A * 1000                            '¶R¶iªÑª÷
  12.     ¤âÄò¶O = IIf(A(1, "C") * [¤âÄò¶O²v] * [¥´§é] > 20, A(1, "C") * [¤âÄò¶O²v] * [¥´§é], 20)
  13.     A(1, "D") = ¤âÄò¶O                              '¤âÄò¶O
  14.     A(1, "E") = A(1, "C") + ¤âÄò¶O
  15.     N = 1                                           ' ²Å¦X¶R½æªÑ»ù¼Æ¦r³W«h ªº¦¸¼Æ
  16.     A(1, "G") = A + B * N                           'C°ÏªÑ»ù
  17.     A(1, "H") = "=RC[-1]*1000"                      '½æ¥XªÑª÷
  18.     A(1, "I") = "=Round(IF(RC[-1] *¤âÄò¶O²v * ¥´§é > 20, RC[-1] * ¤âÄò¶O²v * ¥´§é, 20), 0)" '½æ¥X¤âÄò¶O
  19.     A(1, "J") = "=Round(RC[-2] *ÃÒ¥æµ|²v,0)"                                                'ÃÒ¥æµ|
  20.     A(1, "K") = "=RC[-3]-RC[-2]-RC[-1]"                                                     '½æ¥Xª÷ÃB
  21.     A(1, "M") = "=RC[-2]-RC[-8]"                                                            'Àò§Qª÷ÃB
  22.     A(1, "N") = "=Round(((RC[-3]-RC[-9])/RC[-9]),4)"                                        'Àò§Q%¼Æ
  23.     '****  ¥Î°j°é¨D¸Ñ   ¨D¸Ñ«áªº[½æ»ù] ·|¬O²Å¦X¶R½æªÑ»ù³W«hªº[[ ÀÉ»ù ]]
  24.     Do Until A(1, "M") >= A(1, "E") * 0.01              'Àò§Q%¼Æ=1%
  25.         N = N + 1                                       '¦¸¼Æªº²Ö¥[
  26.         A(1, "G") = A + (B * N)                         'B -> ²Å¦X¶R½æªÑ»ù³W«hªº¼Æ¦r
  27.     Loop
  28.     A(1, "G").Resize(, 8) = A(1, "G").Resize(, 8).Value     '®ø°£¤½¦¡Åã¥Ü­È
  29. Next
  30. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤f»¡¤@¥y¦n¸Ü¡A¦p¤f¥X½¬ªá¡F¤f»¡¤@¥yÃa¸Ü¦p¤f¦R¬r³D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD