- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 88
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-4-12
               
|
5#
發表於 2012-12-11 18:26
| 只看該作者
本帖最後由 Hsieh 於 2012-12-11 18:30 編輯
回復 1# flutist
基本上使用公式即可達成,寫成VBA最好配合事件程序- Private Sub Worksheet_Change(ByVal Target As Range)
- If Intersect(Target, [B3:B7]) Is Nothing Then Exit Sub
- If Application.CountIf(Sheet2.[A:A], Sheet1.[A2]) = 0 Then Sheet1.[D2] = "期別錯誤": Exit Sub '期別錯誤
- '基本號碼
- x = _
- 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)")
- '特別號
- y = _
- 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")
- Sheet1.[D2] = Application.Lookup(x + y, Array(0, 3, 3, 5, 4, 4.5, 5, 5.5, 6), Array("未中獎", "普獎", "陸獎", "伍獎", "肆獎", "三獎", "貳獎", "頭獎"))
- End Sub
複製代碼 |
|