สำหรับท่านที่ต้องการเลือกเลขทะเบียนรถเองโดยมีเงื่อนไขในการคัดเลือก ยกตัวอย่างเช่นต้องการให้
- ให้รวมตัวเลขทุกตัวแล้วได้ค่าเป็น 9, 18, 27 หรือ 36
- สามารถคัดชุดที่มีตัวเลขที่ไม่ต้องการออกไปได้ด้วย ยกตัวอย่างเช่นไม่รวมตัวเลขที่มีค่าต่อไปนี้ 0, 3, 7, 8
การหาค่าดังกล่าวสามารถใช้สูตรหรือ VBA มาคำนวณได้ครับ
กรณีใช้สูตรในการคำนวณมีวิธีการดังนี้
- เปิดสมุดงานใหม่แล้วเลือกชีทว่าง
- ที่ A1 คีย์ No. และ ที่ B1 คีย์ Select เพื่อเป็นชื่อ Field
- ที่ A2 คีย์ Row()-1 > Copy ลงด้านล่างตามต้องการ
- ที่ B2 คีย์สูตร
=IF(MIN(LEN(SUBSTITUTE(A2,{0,3,7,8},"")))<LEN(A2),"",IF(ISNUMBER(MATCH(SUM(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0),{9,18,27,36},0)),SUM(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0),""))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
กรณีใช้ VBA ในการคำนวณมีวิธีการดังนี้
- กดแป้น Alt+11 เพื่อเปิดหน้าต่าง VBE
- คลิกเมนู Insert > Module
- Copy Code ด้านล่างไปวาง
Sub ListNum() Dim i As Integer, bln As Boolean Dim c As Integer, j As Integer Dim a As String, s As Integer For i = 1 To 9999 bln = False s = 0 For j = 1 To Len(CStr(i)) a = Mid(i, j, 1) Select Case a Case 0, 3, 7, 8 bln = True Exit For Case Else s = s + a End Select Next j If bln = False Then Select Case s Case 9, 18, 27, 36 c = c + 1 Cells(c + 1, 1) = i End Select End If Next i End Sub |
- กดแป้น Alt+Q เพื่อกลับมายังโปรแกรม Excel
- กดแป้น Alt+F8 > เลือก ListNum > Run
- โปรแกรมจะทำการ Run ตัวเลขมาให้ตามเงื่อนไขที่ต้องการ
ภาพตัวอย่างการใช้งาน

Revised: January 29, 2017 at 07:11
You must log in to post a comment.