返回列表 上一主題 發帖

設計一個對獎程式

本帖最後由 Hsieh 於 2012-12-11 18:30 編輯

回復 1# flutist
基本上使用公式即可達成,寫成VBA最好配合事件程序
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Intersect(Target, [B3:B7]) Is Nothing Then Exit Sub
  3. If Application.CountIf(Sheet2.[A:A], Sheet1.[A2]) = 0 Then Sheet1.[D2] = "期別錯誤": Exit Sub '期別錯誤
  4. '基本號碼
  5. x = _
  6. Evaluate("=SUMPRODUCT(ISNUMBER(1/COUNTIF(OFFSET(Sheet2!$A$1,MATCH(Sheet1!$A$2,Sheet2!$A:$A,0)-1,1,,6),Sheet1!$B$2:$B$7))*1)")
  7. '特別號
  8. y = _
  9. Evaluate("=ISNUMBER(MATCH(OFFSET(Sheet2!$A$1,MATCH(Sheet1!$A$2,Sheet2!$A:$A,0)-1,7),Sheet1!$B$2:$B$7,0))*0.5")
  10. Sheet1.[D2] = Application.Lookup(x + y, Array(0, 3, 3, 5, 4, 4.5, 5, 5.5, 6), Array("未中獎", "普獎", "陸獎", "伍獎", "肆獎", "三獎", "貳獎", "頭獎"))
  11. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題