กรณีศึกษา: ผู้ป่วยความดันโลหิตสูงรายใหม่ อายุ 15–39 ปี
ข้อมูลรูปแบบ HDC ทั้งประเทศ ปี 2566–2568
ไม่ต้องติดตั้งแอป ไม่ต้องล็อกอิน ไม่เก็บชื่อจริง หน้ามือถือจะเปลี่ยนคำถามตามสไลด์เอง
ดูขนาด ดูค่าแปลก ๆ ในแต่ละคอลัมน์ ด้วย Filter และสูตรนับ
แก้ข้อมูลหลายพันเซลล์ใน 1 คำสั่ง โดยคงรหัสแบบ HDC
สรุปข้อมูลรายคน 1 แสนแถวเป็นตารางสรุปในไม่กี่คลิก
จับคู่ประชากรกลางปีให้ถูกปี ถูกกลุ่มอายุ แล้วคิดอัตราต่อแสน
สำรวจ ค้นหาและแทนที่ Pivot อัตรา
ข้อมูลรายคน
แปลงข้อมูลรายคนเป็นตาราง summary
สรุปรายอำเภอ × เพศ × ปี
สร้างแดชบอร์ดบน Google Sheets
แผนที่ กราฟ ตารางสถิติ
102,395 แถว (1 แถว = 1 คน)
17 คอลัมน์ รหัสแบบ HDC
ชีตเดียว: data
ประชากรจริง แยกปี เพศ กลุ่มอายุ
pop_province 462 แถว
pop_amphur 5,568 แถว
ความหมายของทุกคอลัมน์
ความหมายของรหัส
นิยามและสูตรอัตรา
ทำไมต้องคลีน · 1 แถว = 1 คน · ตัวเลขกับข้อความ · คีย์ลัด
นับผู้ป่วยตามเพศ (ก่อนคลีน)
| A | B | ||
|---|---|---|---|
| 1 | sex | จำนวน | |
| 2 | 1 | 59,389 | |
| 3 | 2 | 41,506 | |
| 4 | M | 455 | |
| 5 | ชาย | 409 | |
| 6 | หญิง | 341 | |
| 7 | F | 295 |
6 กลุ่ม แทนที่จะเป็น 2 กลุ่ม
นับผู้ป่วยตามเพศ (หลังคลีน)
59,389 + 455 + 409
41,506 + 341 + 295
แถวที่ไฮไลต์คือ P000002 ข้อมูลทั้งหมดของเขาอยู่ในแถวเดียว
ชื่อคอลัมน์ภาษาอังกฤษสั้น ๆ ตาม HDC ความหมายดูใน DataDict
sex 1/2, chw_code 10, nation 099 ชื่อจังหวัดค่อยจับคู่ทีหลัง
sex (1 = ชาย, 2 = หญิง) · sbp, dbp, weight, height
ใช้คำนวณ เฉลี่ย หรือเปรียบเทียบมากกว่า/น้อยกว่า
ลองพิมพ์ 099 ในเซลล์ General
กด Enter แล้วเลข 0 หาย ข้อมูลผิดทันที
nation 099, typearea · chw_code, amp_code, tambon_code · diagcode I10, smoking_code
รหัสที่ขึ้นต้นด้วย 0 ต้องเป็นข้อความ
พิมพ์ 099 ในเซลล์ Text
เลข 0 อยู่ครบ และชิดซ้าย = ข้อความ
คอลัมน์: weight, height, smoking, alcohol, family_ht
NULL→(ว่าง)คอลัมน์: sex
ชาย / M→1 หญิง / F→2คอลัมน์: diagcode
I11.9→I119คอลัมน์: nation
99→099| A | B | |
|---|---|---|
| 1 | pid | sex |
| 2 | P000001 | 1 |
| 3 | P000002 | 1 |
| 4 | P000003 | 2 |
| ⋮ | ⋮ | ⋮ |
| 102395 | P102394 | 2 |
| 102396 | P102395 | 1 |
| งาน | Windows | Mac |
|---|---|---|
| ไปขอบตาราง (ล่างสุด) | Ctrl+↓ | ⌘+↓ |
| เลือกถึงขอบตาราง | Ctrl+Shift+↓ | ⌘+⇧+↓ |
| กลับไปเซลล์ A1 | Ctrl+Home | fn+control+← |
| เลือกทั้งคอลัมน์ | Ctrl+Space | control+Space |
| เลือกทั้งตาราง | Ctrl+A | ⌘+A |
| ตั้งรูปแบบเซลล์ | Ctrl+1 | ⌘+1 |
| ย้อนกลับ (Undo) | Ctrl+Z | ⌘+Z |
| งาน | Windows | Mac |
|---|---|---|
| ค้นหา (Find) | Ctrl+F | ⌘+F |
| ค้นหาและแทนที่ (Replace) | Ctrl+H | control+H |
| เปิด / ปิด Filter | Ctrl+Shift+L | ⌘+⇧+F |
| เปิดเมนู Filter ของคอลัมน์ | Alt+↓ | option+↓ |
| เติมสูตรลงล่าง (Fill Down) | Ctrl+D | ⌘+D |
| แทรก PivotTable | Alt N V (กดทีละปุ่ม) | เมนู Insert › PivotTable |
| บันทึก / บันทึกเป็น | Ctrl+S / F12 | ⌘+S / ⌘+⇧+S |
ข้อมูลมีกี่แถว · แต่ละคอลัมน์มีค่าอะไรบ้าง · ค่าไหนผิดปกติ
ผลที่ควรได้
| A | B | C | |
|---|---|---|---|
| 1 | pid ▾ | sex ▾ | birth_date ▾ |
| 2 | P000001 | 1 | 2001-02-09 |
ลองเปิด Filter ของคอลัมน์เหล่านี้
| B sex | มีค่าอะไรนอกจาก 1, 2 |
| D nation | มี 99 ปนกับ 099 |
| I diagcode | มีรหัสที่มีจุดไหม |
| M–Q | มีคำว่า NULL ไหม |
| ใช้ทำอะไร | สูตร | ผลที่ได้ |
|---|---|---|
| นับจำนวนแถวข้อมูล | 0 | |
| นับเพศที่เป็นคำว่า ชาย | 0 | |
| นับ NULL ใน weight | 0 | |
| นับรหัสโรคที่มีจุด | 0 | |
| นับสัญชาติที่เป็น 99 | 0 | |
| ค่าต่ำสุด / สูงสุดของ sbp | 130 / 205 | |
| ดูค่าไม่ซ้ำ (Excel 365) | 1, 2, M, … |
| คอลัมน์ | ปัญหาที่พบ | จำนวนเซลล์ |
|---|---|---|
| B sex | ………… | …… |
| D nation | ………… | …… |
| I diagcode | ………… | …… |
| M weight | ………… | …… |
| N height | ………… | …… |
| O–Q smoking / alcohol / family_ht | ………… | …… |
| คอลัมน์ | ปัญหาที่พบ | จำนวนเซลล์ |
|---|---|---|
| B sex | เป็นข้อความ: ชาย 409, M 455, หญิง 341, F 295 | 0 |
| D nation | 99 แทน 099 | 0 |
| I diagcode | มีจุด: I11.9 1,601 · I15.9 1,616 · I12.9 600 · I13.9 183 | 0 |
| M weight · N height | NULL คอลัมน์ละ 900 | 0 |
| O–Q | NULL: smoking 2,500 · alcohol 2,500 · family_ht 3,000 | 0 |
แก้ปัญหาทั้ง 4 แบบ โดยไม่ต้องเขียนสูตร และคงรหัสแบบ HDC
คลิกหัวคอลัมน์ หรือ Ctrl+Space / control+Space
| I | M | |
|---|---|---|
| 1 | diagcode | weight |
| 2 | I15.9 | 72.3 |
พัง! น้ำหนัก 72.3 กลายเป็น 723
แก้เฉพาะคอลัมน์ I น้ำหนักไม่ถูกแตะ
แทน 99 → 099 ต้องแก้เฉพาะเซลล์ที่เป็น 99 ทั้งเซลล์
| D | |
|---|---|
| 1 | nation |
| 2 | 99 |
| 3 | 099 |
099 ที่ถูกอยู่แล้วกลายเป็น 0099
แก้เฉพาะเซลล์ที่เป็น 99 ทั้งเซลล์
| M | N | O | P | |
|---|---|---|---|---|
| 1 | weight | height | smoking | alcohol |
| 2 | 65.5 | 160 | NULL | 1 |
| 3 | NULL | 172 | 2 | NULL |
| 4 | 71.2 | NULL | 4 | 1 |
| B | |
|---|---|
| 1 | sex |
| 2 | ชาย |
| 3 | 1 |
| 4 | M |
| 5 | หญิง |
| 6 | 2 |
| 7 | F |
| Find | Replace | จำนวน |
|---|---|---|
| ชาย | 1 | 409 |
| M | 1 | 455 |
| หญิง | 2 | 341 |
| F | 2 | 295 |
รวม 1,500 เซลล์ ผลเป็นตัวเลข 1 / 2 แบบ HDC เดิม
| I | |
|---|---|
| 1 | diagcode |
| 2 | I10 |
| 3 | I11.9 |
| 4 | I15.9 |
| 5 | I12.9 |
| D | |
|---|---|
| 1 | nation |
| 2 | 099 |
| 3 | 99 |
| 4 | 099 |
| 5 | 99 |
รูปแบบ: Text
| สูตรตรวจ | ผล |
|---|---|
| Filter คอลัมน์ B (sex) | เหลือแค่ 1, 2 |
| =COUNTIF(A:Q,"NULL") | 9,800 ✓ |
| =COUNTIF(I:I,"*.*") | 4,000 ✓ |
| =COUNTIF(D:D,"99") | 2,000 ✓ |
| =COUNTIF(B:B,1) · =COUNTIF(B:B,2) | 0 / 0 |
Ctrl+S / ⌘+S
ใช้ไฟล์นี้ต่อในฝึก 3–4 และ WS2
จากข้อมูลรายคน 102,395 แถว เป็นตารางสรุปตามปีและเพศ
ข้อมูลรายคน
ตารางสรุป 3 แถว
| A | B | C | D | |
|---|---|---|---|---|
| 3 | PivotTable1 | |||
| 4 | ||||
| 5 | ||||
| 6 |
กด → เพื่อดูคำตอบ หรือข้ามไปคิดในสไลด์ถัดไป
ใช้ประชากรกลางปีให้ถูกปี ถูกกลุ่มอายุ ถูกพื้นที่
สูตรอัตราผู้ป่วยรายใหม่
× 100,000
กทม. 3,376 ÷ 1,766,094 × 100,000 = 191.2
ลำพูน 353 ÷ 117,916 × 100,000 = 299.4
ผู้ป่วยอายุ 15–39 ปี ต้องหารด้วย pop_15_39 ไม่ใช่ pop_total
ผู้ป่วยปี 2567 หารด้วยประชากรกลางปี 2567
อัตรารายจังหวัด/อำเภอ หรือรายเพศ ใช้ประชากรของกลุ่มนั้น
ปี 2568 ผู้ป่วย 35,976 คน
ใช้ pop_total อัตราจะต่ำกว่าความจริงประมาณ 3 เท่า เพราะนับคนทุกอายุที่ไม่มีโอกาสอยู่ในข้อมูลชุดนี้
① คอลัมน์ที่จะรวม · pop_15_39 (คอลัมน์ J)
② คอลัมน์เงื่อนไข · year (คอลัมน์ A)
③ ค่าเงื่อนไข · ปีในแถวของ Pivot (A5 = 2566)
เพิ่มเงื่อนไขเพศ: , pop_province!$E:$E, 1
| A | D | E | J | |
|---|---|---|---|---|
| 1 | year | chw_name | sex | pop_15_39 |
| 2 | 2566 | กรุงเทพมหานคร | 1 | … |
| 3 | 2566 | กรุงเทพมหานคร | 2 | … |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 156 | 2567 | กรุงเทพมหานคร | 1 | … |
ตอบถูกได้ 100 คะแนน + โบนัสตอบเร็ว (คนแรกที่ตอบถูก +50)
Filter + COUNTIF บอกว่าผิดตรงไหน กี่เซลล์
เลือกคอลัมน์ก่อน ติ๊ก Match entire cell คงรหัส HDC
ข้อมูลรายคน → ตารางสรุปในไม่กี่คลิก
ถูกกลุ่มอายุ ถูกปี ถูกพื้นที่และเพศ