|
| 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
|
|
|
|
|
|
การใช้ VLOOKUP เพื่อแสดงข้อมูลจากฐานข้อมูล ตอนที่2
จากครั้งที่แล้ว ที่ผมได้แนะนำวิธีการใช้งาน VLOOKUP ไปนั้น ถือเป็นหลักการใช้งานเบื้องต้น เพื่อให้สามารถแสดงข้อมูลจากฐานข้อมูลได้ แต่ในการนำไปใช้งานจริง อาจจะมีการนำไปใช้ในรูปแบบอื่นที่แตกต่างไป ผมจึงขอเสนอเทคนิค และวิธีการประยุกต์ใช้ VLOOKUP เพิ่มเติมสักเล็กน้อย ดังนี้
1. พิมพ์สูตรครั้งเดียว สามารถคัดลอกไปใช้ได้ทุกเซล
จากตัวอย่างในครั้งที่แล้ว เมื่อเราพิมพ์สูตรที่ K5 ว่า =VLOOKUP(K$4,$B$3:$F$10,2,0) และทำการคัดลอกสูตรลงมายัง K6 ถึง K8 นั้น จะเห็นว่า เราต้องมาแก้ไขสูตรในแต่ละบรรทัดใหม่ โดยเปลี่ยนเลข 2 เป็น 3, 4 และ 5 ตามลำดับ ถ้าหากจำนวนเซลมีมากกว่านี้ล่ะ ก็ต้องแก้ไขสูตรอีกหลายครั้ง
รูปที่ 7 ตัวอย่างผลลัพธ์ที่เรียงต่อเนื่องกันลงมา
ดังนั้น ถ้าข้อมูลเป็นลักษณะเรียงต่อเนื่องกันลงมา ขอย้ำนะครับว่า "เรียงต่อเนื่องกันลงมา" ดังในรูปที่ 6 เราสามารถแก้ไขสูตรที่ K5 เสียใหม่ เพื่อให้สามารถคัดลอกไป K6 ถึง K8 ได้ โดยไม่ต้องไปแก้ไขสูตรอีก ดังนี้
1.1) เปลี่ยนสูตรที่ K5 เป็น =VLOOKUP(K$4,$B$3:$F$10,ROW()-3,0) เสร็จแล้วลองคัดลอกสูตรลงมายัง K6 ถึง K8 จะเห็นว่า ได้ผลลัพธ์ออกมาอัตโนมัติ โดยไม่ต้องมาแก้ไขสูตรอีก (ยกเว้น K8 เพราะเราใช้ VLOOKUP ซ้อน VLOOKUP ซึ่งสูตรไม่เหมือนกับเซลอื่น)
ทั้งนี้เพราะ ฟังก์ชัน ROW() จะส่งค่าเลขบรรทัดนั้นๆ ออกมา ซึ่งถ้าเรากำลังทำงานในบรรทัดที่ 5 ผลลัพธ์ที่ได้จากฟังก์ชัน ROW() ก็คือ 5 แต่ในเซล K5 นั้น เราต้องการเลข 2 ไปใส่ในสูตร ผมจึงใช้ ROW()-3
ดังนั้น เมื่อสูตรถูกคัดลอกไปยังบรรทัดถัดลงมา เลขที่แสดงบรรทัดที่ได้จาก ROW() ก็จะเปลี่ยนไปอัตโนมัติ พอนำ ROW()-3 ผลลัพธ์จึงเปลี่ยนเป็น 3, 4 และ 5 ตามลำดับ โดยอัตโนมัติ
หมายเหตุ : วิธีการนี้ใช้ได้เฉพาะกรณีที่ ต้องการแสดงข้อมูลเรียงต่อเนื่องกันลงมาเท่านั้น
1.2) เนื่องจากหัวข้อใน J5:J8 เป็นข้อความที่เราคัดลอกมาจาก B2:F2 ข้อความจึงเหมือนกันทุกประการ เราจึงสามารถใช้วิธีเปรียบเทียบ ว่าหัวข้อในคอลัมน์ J นี้ ไปตรงกับลำดับที่เท่าไรในช่วง B2:F2 โดยใช้ฟังก์ชัน MATCH ดังนั้นที่ K5 จึงเขียนสูตรใหม่ได้ ดังนี้ =VLOOKUP($K$4,$B$3:$F$10,MATCH(J5,$B$2:$F$2,0),0) เสร็จแล้วลองคัดลอกสูตรลงมายัง K6 ถึง K8 จะเห็นว่า ได้ผลลัพธ์ออกมาอัตโนมัติเช่นกัน
วิธีการนี้มีข้อดีกว่าการใช้ ROW() ตรงที่ แม้ข้อมูลจะไม่เรียงต่อเนื่องกันลงมา จะเว้นบรรทัด หรือจะวางข้อมูลในแนวอื่น ดังในรูปที่ 8 สูตรนี้ก็ยังใช้งานได้ แต่มีข้อแม้ว่า ชื่อหัวข้อของผลลัพธ์ จะต้องเหมือนกันกับหัวตารางฐานข้อมูล
รูปที่ 8 ตัวอย่างการวางข้อมูลผลลัพธ์รูปแบบอื่น
2. การนำผลลัพธ์ที่ได้จาก VLOOKUP มาเชื่อมต่อกัน
ในบางกรณี ที่เราไม่ต้องการแสดงข้อมูล ในลักษณะที่เป็นหัวข้อใครหัวข้อมัน แต่ต้องการให้ข้อมูลเชื่อมต่อกันไปเลย เช่น คำนำหน้า+ชื่อ+เว้นวรรคสัก 2 เคาะ+นามสกุล อย่างนี้เป็นต้น ก็สามารถเขียนสูตรได้ดังนี้ =VLOOKUP(K$4,$B$3:$F$10,2,0)&VLOOKUP(K$4,$B$3:$F$10,3,0) &" "&VLOOKUP(K$4,$B$3:$F$10,4,0)
รูปที่ 9 ตัวอย่างการนำผลลัพธ์ที่ได้จาก VLOOKUP มาเชื่อมต่อกัน
3. ถ้ายังไม่ใส่รหัส ก็ให้แสดงแบบฟอร์มเปล่าๆ
จากทุกสูตรที่แนะนำมาแล้วในเบื้องต้น หากคุณลองลบรหัสที่ป้อนใน K4 ออกไป จะเห็นว่าในช่องต่างๆ ที่เราเรียกใช้สูตร VLOOKUP จะแสดงค่าผิดพลาด #N/A ออกมาทุกเซล ทำให้ดูเกะกะสายตา และทำให้แบบฟอร์มดังกล่าวไม่สวยงาม
รูปที่ 10 ตัวอย่างค่าผิดพลาดในกรณีที่ยังไม่ใส่รหัสที่ K4
หากไม่ต้องการให้แสดงค่าผิดพลาดดังกล่าว ให้เอาฟังก์ชัน IF เข้ามาตรวจสอบก่อนว่า มีการป้อนรหัสที่ K4 หรือไม่ ถ้ายังไม่ป้อน ก็ไม่ต้องแสดงค่า แต่ถ้าป้อนแล้ว จึงค่อยแสดงค่าตาม VLOOKUP โดยเปลี่ยนสูตรในแต่ละเซล ดังนี้ =IF(ISBLANK($K$4),"",ตามด้วยสูตรเดิม) หรือ =IF($K$4="","",ตามด้วยสูตรเดิม)
4. การดึงข้อมูลต่างชีท หรือต่างไฟล์
จริงๆ แล้วก็ไม่มีอะไรมากหรอกครับ ถ้าเป็นการดึงข้อมูลต่างชีท ต้องใส่ชื่อชีทด้วย หรือถ้าดึงข้อมูลคนละไฟล์ ก็ต้องใส่ชื่อไฟล์ด้วย เช่น
4.1 กรณีข้อมูลอยู่ในชีทเดียวกัน =VLOOKUP(K$4,$B$3:$F$10,2,0)
4.2 กรณีข้อมูลอยู่คนละชีท แต่ไฟล์เดียวกัน =VLOOKUP(K$4,Sheet1!$B$3:$F$10,2,0)
4.3 กรณีข้อมูลอยู่คนละไฟล์ =VLOOKUP(K$4,[Book2.xls]Sheet1!$B$3:$F$10,2,0)
4.4 กรณีไฟล์ข้อมูลอยู่คนละโฟลเดอร์ หรือคนละไดรว์ =VLOOKUP(K$4,'D:|My Documents|[Book2.xls]Sheet1'!$B$3:$F$10,2,0) หมายเหตุ : เครื่องหมาย | ใช้แทนเครื่องหมาย backslash ครับ
--------------------
ที่แนะนำมาทั้งหมดนี้ ก็เป็นเกร็ดเล็กๆ น้อยๆ เกี่ยวกับการประยุกต์ใช้ VLOOKUP เพื่อแสดงข้อมูลจากตารางฐานข้อมูล หวังว่าคงจะเป็นประโยชน์กับผู้สนใจ ไม่มากก็น้อยนะครับ
Create Date : 03 พฤษภาคม 2551 |
Last Update : 30 มกราคม 2552 21:41:58 น. |
|
19 comments
|
Counter : 29403 Pageviews. |
|
|
|
โดย: Opey วันที่: 4 พฤษภาคม 2551 เวลา:3:09:38 น. |
|
|
|
โดย: Opey วันที่: 4 พฤษภาคม 2551 เวลา:8:31:21 น. |
|
|
|
โดย: Supachate IP: 66.207.48.50 วันที่: 4 พฤษภาคม 2551 เวลา:10:38:32 น. |
|
|
|
โดย: ต้นหญ้าเองค่ะ IP: 125.25.26.236 วันที่: 5 พฤษภาคม 2551 เวลา:15:15:52 น. |
|
|
|
โดย: ครูเอก วันที่: 5 พฤษภาคม 2551 เวลา:15:26:13 น. |
|
|
|
โดย: นา (nakamuk ) วันที่: 5 พฤษภาคม 2551 เวลา:18:03:16 น. |
|
|
|
โดย: creamini IP: 164.144.232.10 วันที่: 26 มิถุนายน 2551 เวลา:15:58:27 น. |
|
|
|
โดย: creamini IP: 164.144.232.10 วันที่: 26 มิถุนายน 2551 เวลา:15:58:35 น. |
|
|
|
โดย: Kob7110 IP: 125.25.37.194 วันที่: 24 กรกฎาคม 2551 เวลา:22:33:40 น. |
|
|
|
โดย: cherry IP: 117.47.59.232 วันที่: 13 กันยายน 2551 เวลา:16:55:27 น. |
|
|
|
โดย: ครูเอก วันที่: 13 กันยายน 2551 เวลา:18:37:51 น. |
|
|
|
โดย: kookai IP: 118.172.196.207 วันที่: 30 ตุลาคม 2551 เวลา:0:16:05 น. |
|
|
|
โดย: ครูเอก วันที่: 1 พฤศจิกายน 2551 เวลา:9:56:25 น. |
|
|
|
โดย: jaspalo IP: 124.121.107.183 วันที่: 23 ธันวาคม 2551 เวลา:15:38:48 น. |
|
|
|
โดย: ammzii IP: 58.10.167.197 วันที่: 16 มิถุนายน 2554 เวลา:15:50:55 น. |
|
|
|
โดย: พรอนันต์ IP: 118.172.40.51 วันที่: 7 มกราคม 2556 เวลา:15:30:36 น. |
|
|
|
โดย: รบกวนสอบถามหน่อยคะ IP: 171.6.244.65 วันที่: 16 พฤษภาคม 2561 เวลา:13:33:41 น. |
|
|
|
|
|
|
|
Location :
กรุงเทพฯ Thailand
[ดู Profile ทั้งหมด]
|
ฝากข้อความหลังไมค์
Rss Feed
Smember ผู้ติดตามบล็อก : 112 คน [?]
|
เนื้อหาบทความ ภาพประกอบ ไฟล์ตัวอย่าง ทั้งหมดใน blog นี้ "สงวนลิขสิทธิ์ตามพระราชบัญญัติลิขสิทธิ์ พุทธศักราช ๒๕๓๗" อนุญาตให้นำไปเผยแพร่ได้ โดยต้องระบุแหล่งที่มาของเนื้อหาให้ชัดเจน เพื่อแสดงถึงการรับรู้ในความเป็นเจ้าของลิขสิทธิ์ ทั้งนี้ไม่อนุญาตในการนำไปใช้เพื่อการแสวงหาผลกำไรทางธุรกิจ โดยไม่ได้รับความยินยอมเป็นลายลักษณ์อักษร
|
|
|
|
MSN : ysamroeng@hotmail.com |
|
กิตติกรรมประกาศ
ผมใช้คอมพิวเตอร์ครั้งแรก โดยมีหนังสือชื่อ "เรียน DBASE III PLUS ด้วยตนเอง" ของ พ.ต.ประพัฒน์ อุทโยภาศ เป็นเสมือนอาจารย์ และมี บร.โรเบิร์ต ปาแนสโต (ซดบ.) เป็นผู้ให้โอกาส และ้คำแนะนำ ถือเป็นก้าวแรก ที่้ผมจับคอมพิวเตอร์ และสนใจเรียนรู้ มาตั้งแต่วันนั้น นอกจากเรื่อง "การเขียนโปรแกรมด้วย Clipper" แล้ว ผมไม่เคย ไปเรียนคอมพิวเตอร์ จากสถาบันใด อาศัยที่เป็น คนชอบอ่านหนังสือ และซื้อหนังสือเยอะมาก บวกกับลงทุน ซื้อเครื่องไว้ใช้งานเอง (เครื่องแรก Intel 386DX-40) จึงได้ฝึกฝน เรียนรู้ ต่อเนื่องมาจนทุกวันนี้ |
มีของมาขาย
1. หนังสือ "Excel for HR"
การใช้ไมโครซอฟต์เอ็กเซล ในงาน HR แบบมืออาชีพ พิมพ์ครั้งที่ 2 เป็นหนังสือที่เก็บเกี่ยวประสบการณ์ จากงานจริงๆ มาเป็นวัตถุดิบ เป็นหนังสือคอมพิวเตอร์เล่มแรก ที่เขียนขึ้นมาเพื่อ นักบริการทรัพยากรมนุษย์ (HR) โดยเฉพาะ เป็นตัวอย่างของการใช้โปรแกรม MS Excel ในงานประจำวันของ HR หาซื้อได้ที่ ร้านซีเอ็ดบุ๊ค ทุกสาขา, HR Center, ศูนย์หนังสือ สสท., ศูนย์หนังสือจุฬา, Thailand Book Tower, B2S เป็นต้น หรือสั่งซื้อโดยตรงได้ที่ 02-347-1066, 081-423-9828 ราคาเล่มละ 200 บาท จัดส่งฟรี
2. CD รวมไฟล์ตัวอย่าง Excel จากงานจริง
มีไฟล์ตัวอย่างมากที่สุด สามารถนำไปใช้งานได้ทันที หรือใช้ศึกษาเทคนิคการเขียนสูตร Excel อัพเดตใหม่ทุกสัปดาห์ ของแท้ไม่มีวางจำหน่ายที่ไหน สนใจสั่งซื้อโดยตรงที่ 02-347-1066, 081-423-9828 ราคาแผ่นละ 200 บาท ค่าจัดส่งฟรี หมายเหตุ : ปัจจุบันมีจำหน่ายทั้งสิ้น 3 ชุด ดูรายละเอียดเพิ่มเติมที่ https://sites.google.com/site/excel4hr/product |
|
กิจกรรมของพวกเราที่ผ่านมา
| |
รูปภาพหรือข้อความแสดงความเห็น เกิดจากการแสดงความคิดเห็นโดยอิสระ ของบุคคลทั่วไป และถูกส่งขึ้นแสดงในหน้า blog โดยอัตโนมัติ เจ้าของ blog มิได้มีส่วนรู้เห็น หรือพิสูจน์ข้อเท็จจริงใดๆ ทั้งสิ้น อีกทั้งไม่จำเป็นต้องร่วมรับผิดชอบ ต่อทุกความคิดเห็นใดๆ |
|
|
|
|
|
|
|
|