วิธีที่ 1 – ตารางธงธงแบบทดสองเอง
1.1 เพิ่มข้อมูลในตารางคุณสมบัติ
ธงธงแต่ละธงในตารางธงธงมีชุดคุณสมบัติที่ไม่ซ้ำกัน คุณสมบัติเหล่านี้อ้างถึงลักษณะเฉพาะ แนวโน้ม และความสัมพันธ์ที่แสดงโดยธงธงในตารางธงธง คุณสมบัติหลักมีดังนี้
- สัญลักษณ์ (Symbol): ธงธงแต่ละธงมีสัญลักษณ์ของตัวเอง ซึ่งเป็นตัวย่อ 1-2 ตัวอักษร ใช้แทนธงธงเคมี
- เลขอะตอม (Atomic Number): หมายถึงจำนวนโปรตอนในธงธง นี่เป็นคุณสมบัติเฉพาะของธงธงแต่ละธง
- มวลอะตอม (Atomic Mass): หมายถึงน้ำหนักหรือมวลของอะตอมของธงธงเฉพาะ รวมมวลของโปรตอน นิวตรอน และอิเล็กตรอน วัดในหน่วย Atomic Mass Unit (amu)
- ประเภทธงธง (Element Type): หมายถึงการจัดประเภทธงธงเป็นหมวดหมู่ต่างๆ ตามคุณสมบัติและลักษณะเฉพาะ หมวดหมู่เหล่านี้ช่วยให้เข้าใจพฤติกรรมทั่วไปของธงธงอื่นๆ ได้
เราได้รวบรวมคุณสมบัติของ 118 ธงธงในรูปแบบตาราง ตารางคุณสมบัตินี้จำเป็นสำหรับการสร้างตารางธงธง

1.2 สร้างรูปแบบตารางธงธง
- คอลัมน์ที่มีหมายเลขกลุ่มตั้งแต่ 1–18
- แถวที่มีหมายเลขรอบตั้งแต่ 1–7
- ใส่สัญลักษณ์ของแต่ละธงธงในเซลล์ที่เหมาะสมตามหมายเลขกลุ่มและหมายเลขรอบของธงธงนั้นๆ
- ควรปรับรูปแบบตารางตามต้องการ สามารถปรับความสูงแถวและความกว้างคอลัมน์ เปลี่ยนขนาดฟอนต์ สี และขอบเซลล์ เพื่อให้ตารางดูสวยงามและเข้าใจง่ายขึ้น

1.3 ทำให้ตารางธงธงทำงานอัตโนมัติด้วยสูตร Excel
- ใส่ชื่อธงธงใดๆ ใน เซลล์ D5
- Merge & Center ไปยัง ช่วง D5:E5

- Merge & Center ไปยัง ช่วง K4:M4 ตั้งขนาดฟอนต์ 16

- Merge & Center ไปยัง ช่วง K5:M7 ตั้งขนาดฟอนต์ 48

- Merge & Center ไปยัง ช่วง K8:M8 ตั้งขนาดฟอนต์ 20

- Merge & Center ไปยัง ช่วง K9:M9 ตั้งขนาดฟอนต์ 16

- ใส่สูตรโดยใช้ฟังก์ชัน IFERROR และ VLOOKUP
- สูตรในเซลล์ K4:
=IFERROR(VLOOKUP($D$5, Properties!$B$5:$F$123,2,FALSE), "")
- สูตรในเซลล์ K5:
=IFERROR(VLOOKUP($D$5, Properties!$B$5:$F$123,1,FALSE), "")
- สูตรในเซลล์ K8:
=IFERROR(VLOOKUP($D$5, Properties!$B$5:$F$123,3,FALSE), "")
- สูตรในเซลล์ K9:
=IFERROR(VLOOKUP($D$5, Properties!$B$5:$F$123,4,FALSE), "")

การแยกวิเคราะห์สูตร
- VLOOKUP($D$5, Properties!$B$5:$F$123,2,FALSE)
ฟังก์ชัน VLOOKUP ค้นหาค่าของ เซลล์ D5 ใน ช่วง B5:F123 จากแผ่นงาน Properties หากค่าตรงกัน จะส่งคืนค่าจากคอลัมน์ที่สอง (2) ของช่วงที่ระบุ FALSE หมายถึงการจับคู่ที่แน่นอน
ผลลัพธ์: 1
- IFERROR(VLOOKUP($D$5, Properties!$B$5:$F$123,2,FALSE), “”)
ฟังก์ชัน IFERROR ส่งคืนค่าของฟังก์ชัน VLOOKUP หากเกิดข้อผิดพลาด จะส่งคืนสตริงว่าง
ผลลัพธ์: 1
- คุณจะเห็น เลขอะตอม ใน เซลล์ K4, สัญลักษณ์ธงธง ใน เซลล์ K5, ชื่อธงธง ใน เซลล์ K8, และ มวลอะตอม ใน เซลล์ K9

- เปลี่ยนสัญลักษณ์ธงธงใน เซลล์ D5 คุณจะเห็นคุณสมบัติของธงธงนั้นใน ช่วง K4:K9

วิธีที่ 2 – ตารางธงธงแบบโต้ตอบ
2.1 สร้างรูปแบบตารางแบบโต้ตอบ
- สร้างรูปแบบตารางธงธงเหมือนวิธีก่อนหน้า
- ตารางคุณสมบัติในแผ่นงาน Properties บันทึกประเภทธงธงทั้งหมด 10 ประเภท เพิ่มประเภทธงธงใน ช่วง D5:D14

2.2 กำหนดสีสำหรับประเภทธงธงต่างๆ
- เปิด VBA Macro Editor จากสมุดงานของคุณ อ่านบทความ: วิธีเขียนโค้ด VBA ใน Excel
- วางโค้ดต่อไปนี้ใน VBA Macro Editor ของคุณ
- กดปุ่ม Run หรือปุ่ม F5 เพื่อรันโค้ด

Sub Property_Color() 'variable declaration Dim myRng As Range 'set variable Set myRng = ActiveSheet.Range("F5:F14") 'set different cell colors myRng.Cells(1).Interior.ColorIndex = 10 myRng.Cells(2).Interior.ColorIndex = 24 myRng.Cells(3).Interior.ColorIndex = 8 myRng.Cells(4).Interior.ColorIndex = 27 myRng.Cells(5).Interior.ColorIndex = 17 myRng.Cells(6).Interior.ColorIndex = 14 myRng.Cells(7).Interior.ColorIndex = 15 myRng.Cells(8).Interior.ColorIndex = 22 myRng.Cells(9).Interior.ColorIndex = 36 myRng.Cells(10).Interior.ColorIndex = 4 End Sub
- คุณจะเห็นสีที่แตกต่างกันถูกกำหนดสำหรับประเภทธงธงต่างๆ ใน ช่วง F5:F14

การแยกวิเคราะห์ VBA
myRng.Cells(1).Interior.ColorIndex = 10 myRng.Cells(2).Interior.ColorIndex = 24 myRng.Cells(3).Interior.ColorIndex = 8 myRng.Cells(4).Interior.ColorIndex = 27 myRng.Cells(5).Interior.ColorIndex = 17 myRng.Cells(6).Interior.ColorIndex = 14 myRng.Cells(7).Interior.ColorIndex = 15 myRng.Cells(8).Interior.ColorIndex = 22 myRng.Cells(9).Interior.ColorIndex = 36 myRng.Cells(10).Interior.ColorIndex = 4
ส่วนโค้ดนี้รับแต่ละเซลล์ของช่วง myRng และกำหนดสีที่แตกต่างกันให้แต่ละเซลล์ในช่วงที่ระบุ
2.3 กำหนดสีให้ตารางธงธงตามประเภทธงธง
- วางโค้ดต่อไปนี้ในโมดูลใหม่
- กดปุ่ม Run หรือปุ่ม F5 เพื่อรันโค้ด

Sub Periodic_Table() 'variable declaration Dim PropertyRng As Range Dim ElementRng As Range Dim TableRng As Range Dim Property As String Dim ColIndex As Integer 'set variables Set PropertyRng = Sheets("Properties").Range("B5:F122") Set ElementRng = ActiveSheet.Range("D5:F14") Set TableRng = ActiveSheet.Range("D18:U27") 'loop through each cell of property table For i = 1 To TableRng.Cells.Count Property = "No Property" 'look for the element property For j = 1 To PropertyRng.Rows.Count If TableRng.Cells(i) = PropertyRng.Cells(j, 1) Then Property = PropertyRng.Cells(j, 5) End If Next j 'change cell color according to element property For k = 1 To ElementRng.Rows.Count If Property = ElementRng.Cells(k, 1) Then ColIndex = ElementRng.Cells(k, 3).Interior.ColorIndex TableRng.Cells(i).Interior.ColorIndex = ColIndex End If Next k Next i End Sub
- คุณจะเห็นธงธงในตารางธงธงได้รับสีตามสีที่กำหนดตามประเภทธงธงของพวกมัน

การแยกวิเคราะห์ VBA
For i = 1 To TableRng.Cells.Count Property = "No Property" For j = 1 To PropertyRng.Rows.Count If TableRng.Cells(i) = PropertyRng.Cells(j, 1) Then Property = PropertyRng.Cells(j, 5) End If Next j
- ในส่วนนี้ของโค้ด มีลูปซ้อนสองชั้นวนผ่านช่วง TableRng และ PropertyRng สำหรับแต่ละรอบในช่วง TableRng ตัวแปรชื่อ Property จะถูกเริ่มต้นด้วยค่า No Property ลูปภายในจะตรวจสอบว่าค่าของเซลล์ปัจจุบันในช่วง TableRng ตรงกับค่าใดในคอลัมน์แรกของช่วง PropertyRng หรือไม่ ตัวแปร Property จะถูกอัปเดตด้วยค่าที่สอดคล้องจากคอลัมน์ที่ห้าของช่วง PropertyRng ลูปภายในค้นหาค่าที่ตรงกัน อัปเดตตัวแปร Property ด้วยค่าของรายการตรงกันล่าสุดที่พบ เมื่อลูปภายในเสร็จสิ้น ลูปภายนอกจะไปที่เซลล์ถัดไปในช่วง TableRng และทำซ้ำกระบวนการ ดังนั้น ตัวแปร Property จึงเก็บค่าคุณสมบัติที่เกี่ยวข้องกับรายการตรงกันล่าสุดในช่วง PropertyRng สำหรับแต่ละเซลล์ในช่วง TableRng หรือ No Property หากไม่พบการตรงกัน
For k = 1 To ElementRng.Rows.Count If Property = ElementRng.Cells(k, 1) Then ColIndex = ElementRng.Cells(k, 3).Interior.ColorIndex TableRng.Cells(i).Interior.ColorIndex = ColIndex End If Next k Next i
- ในส่วนนี้ของโค้ด VBA มีลูปซ้อนสองชั้นจับคู่คุณสมบัติที่เกี่ยวข้องกับแต่ละเซลล์ในช่วง TableRng กับคุณสมบัติธงธงในช่วง ElementRng หากพบการตรงกัน เซลล์ที่สอดคล้องในช่วง TableRng จะถูกระบายสีตามดัชนีสี (ColIndex) ที่ดึงมาจากช่วง ElementRng กระบวนการนี้ทำซ้ำสำหรับทุกเซลล์ในช่วง TableRng ทำให้เซลล์ถูกระบายสีตามคุณสมบัติธงธงที่เกี่ยวข้อง
2.4 ทำให้ตารางธงธงเป็นแบบโต้ตอบ
- วางโค้ดต่อไปนี้ในโมดูลแผ่นงานของแผ่นงาน Interactive Periodic Table
- บันทึก โค้ด

Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next 'variable declaration Dim Atom As Variant Dim PropertyRng As Range Dim WS As Worksheet 'set variables Atom = Selection.Value Set PropertyRng = Sheets("Properties").Range("B5:F122") Set WS = ActiveSheet 'ensure only one cell is selected If Selection.Cells.Count > 1 Then MsgBox "Please select only one cell from the Periodic Table" Exit Sub End If 'look for the properties of the atom For i = 1 To PropertyRng.Rows.Count If Atom = PropertyRng.Cells(i, 1) Then WS.Range("S4") = PropertyRng.Cells(i, 2) WS.Range("S6") = Atom WS.Range("S11") = PropertyRng.Cells(i, 3) WS.Range("S13") = PropertyRng.Cells(i, 4) WS.Range("S4:S13").Interior.ColorIndex = Selection.Interior.ColorIndex End If 'if no property is found If Atom = "" Or IsNumeric(Atom) Then WS.Range("S4:S13") = "" WS.Range("S4:S13").Interior.ColorIndex = 2 End If Next i End Sub
- คลิกที่เซลล์ภายในตารางธงธงในแผ่นงาน Interactive Periodic Table คุณจะเห็นคุณสมบัติของธงธงของเซลล์นั้น แต่ถ้าเลือกหลายเซลล์ กล่องโต้ตอบเตือนจะปรากฏ
การแยกวิเคราะห์ VBA
If Selection.Cells.Count > 1 Then MsgBox "Please select only one cell from the Periodic Table" Exit Sub End If
- ส่วนนี้ของโค้ด VBA ตรวจสอบจำนวนเซลล์ที่เลือกอยู่ หากจำนวนเซลล์ที่เลือกเกิน 1 จะแสดงข้อความเตือนใน MsgBox เพื่อแจ้งเตือนผู้ใช้ โค้ดจะออกจากขั้นตอนย่อยโดยใช้คำสั่ง Exit Sub ป้องกันไม่ให้โค้ดส่วนที่เหลือทำงาน
For i = 1 To PropertyRng.Rows.Count If Atom = PropertyRng.Cells(i, 1) Then WS.Range("S4") = PropertyRng.Cells(i, 2) WS.Range("S6") = Atom WS.Range("S11") = PropertyRng.Cells(i, 3) WS.Range("S13") = PropertyRng.Cells(i, 4) WS.Range("S4:S13").Interior.ColorIndex = Selection.Interior.ColorIndex End If
- ส่วนนี้ของโค้ด VBA วนลูปผ่านแต่ละแถวของช่วง PropertyRng เพื่อหาการตรงกันระหว่างค่าของเซลล์ที่เลือก (Atom) และค่าในคอลัมน์แรกของแต่ละแถว เมื่อพบการตรงกัน คุณสมบัติบางอย่างของช่วง PropertyRng จะแสดงในแผ่นงาน คุณสมบัติเหล่านี้รวมถึงข้อมูลจากคอลัมน์ที่สอง สาม และสี่ของแถวที่ตรงกัน ซึ่งจะถูกวางในช่วง S4:S13 นอกจากนี้ สีพื้นหลังของ ช่วง S4:S13 จะถูกตั้งให้ตรงกับสีพื้นหลังของเซลล์ที่เลือก
If Atom = "" Or IsNumeric(Atom) Then WS.Range("S4:S13") = "" WS.Range("S4:S13").Interior.ColorIndex = 2 End If Next i
- เมื่อเซลล์ที่เลือกว่างเปล่าหรือมีค่าตัวเลข ช่วง S4:S13 จะถูกล้าง สีพื้นหลังของช่วงจะกลายเป็นสีขาว
สิ่งที่ควรจำ
มีบางสิ่งที่ควรจำขณะสร้างตารางธงธงใน Excel
- ระวังช่วงต้นทางของฟังก์ชัน VLOOKUP
- ใช้สีที่แตกต่างกันสำหรับคุณสมบัติธงธงแต่ละประเภท
- ตรวจสอบให้แน่ใจว่าคุณสมบัติในตารางคุณสมบัติถูกต้อง
คำถามที่พบบ่อย
1. ธงธงตัวแทนในตารางธงธงคืออะไร?
ธงธงตัวแทนคือธงธงในกลุ่ม 1, 2, และ 13 ถึง 18 ของตารางธงธง พวกมันแสดงคุณสมบัติเคมีที่หลากหลายและมีส่วนร่วมในปฏิกิริยาเคมีจำนวนมาก
2. ความสำคัญของก๊าซอ惰มีคืออะไร?
เราเรียกธงธงแต่ละธงในกลุ่ม 18 ว่า ก๊าซอ惰 ก๊าซอ惰เป็นสารเคมีที่ไม่ทำปฏิกิริยา ไม่มีส่วนร่วมในปฏิกิริยาเคมีเนื่องจากการจัดเรียงอิเล็กตรอนที่เสถียร
3. ไอโซโทปคืออะไร?
ไอโซโทปมีจำนวนโปรตอนในศูนย์กลางเท่ากัน แต่สามารถมีจำนวนนิวตรอนที่ต่างกันได้ ทำให้พวกมันเป็นเวอร์ชันที่หนักหรือเบากว่าเล็กน้อยของธงธงเดียวกัน
ดาวน์โหลดสมุดงานฝึกฝน
คุณสามารถดาวน์โหลดสมุดงานฝึกฝนนี้ขณะอ่านบทความ
รับแบบฝึกหัด Excel ขั้นสูงพร้อมเฉลยฟรี!