สำหรับท่านที่ต้องการเลือกเลขทะเบียนรถเองโดยมีเงื่อนไขในการคัดเลือก ยกตัวอย่างเช่นต้องการให้
- ให้รวมตัวเลขทุกตัวแล้วได้ค่าเป็น 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