มีการศึกษา (Education) ไม่ได้แปลว่า มีความรู้ (Knowledge)
กระดาษหนึ่งแผ่น..ไม่ได้ทำให้คนฉลาดขึ้น การเรียนรู้..ไม่ได้มีอยู่แต่ในห้องเรียน
การต่อยอดจากสิ่งที่ดี ย่อมได้สิ่งที่ดีกว่า
Group Blog
 
<<
พฤษภาคม 2551
 123
45678910
11121314151617
18192021222324
25262728293031
 
3 พฤษภาคม 2551
 
All Blogs
 

การใช้ 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 ครับ

backslash

--------------------

ที่แนะนำมาทั้งหมดนี้ ก็เป็นเกร็ดเล็กๆ น้อยๆ เกี่ยวกับการประยุกต์ใช้ VLOOKUP เพื่อแสดงข้อมูลจากตารางฐานข้อมูล หวังว่าคงจะเป็นประโยชน์กับผู้สนใจ ไม่มากก็น้อยนะครับ




 

Create Date : 03 พฤษภาคม 2551
19 comments
Last Update : 30 มกราคม 2552 21:41:58 น.
Counter : 28636 Pageviews.

 

 

แวะมาคุยจ๊ะ เอาความรู้ด้วย อืมแต่มันอยากนะให้โอพีไปเล่นสกีบนเขายังง่ายกว่าเอ้อออ

 

โดย: Opey 4 พฤษภาคม 2551 3:09:38 น.  

 




 

โดย: Opey 4 พฤษภาคม 2551 8:31:21 น.  

 

ขอบคุณสำหรับความรู้ครับ ดีมากเลยครับ ผมกำลังหาวิธีเอา #N/A ออกพอดี

 

โดย: Supachate IP: 66.207.48.50 4 พฤษภาคม 2551 10:38:32 น.  

 

สวัสดีครับ..ครูเอก

ขอบคุณมากนะคับที่เข้าไปติ ชม บล็อคของผม

แต่...ผมงงครับ ทำไมพื้นหลังผมถึงดูยาก
พื้นหลังของผมสีขาวล้วนนะครับ...แล้วจะดูยากยังไง

ตอนนี้สงสัยมากครับ..ต้องการคำชี้แจงด่วน
ไม่งั้นนอนไม่หลับ อิอิ

 

โดย: หล่อจริงไม่ได้โกหก 5 พฤษภาคม 2551 13:17:09 น.  

 

เป็นแหล่งขุมทรัพย์ทางปัญญามากๆๆค่ะ

 

โดย: ต้นหญ้าเองค่ะ IP: 125.25.26.236 5 พฤษภาคม 2551 15:15:52 น.  

 

ตอบคุณหล่อจริงไม่ได้โกหก

กลัวท่านจะนอนไม่หลับ เลยรีบมาตอบ
ผมใช้ Opera นะ (ไม่รู้ว่าเกี่ยวกันมั๊ย) แต่เวลาเข้าไปอ่านบล๊อกของท่าน จะเห็นแต่ภาพพื้นหลัง ที่เป็นรูปนักบาส เต็มไปหมด เวลาจะอ่านต้องกดแป้น Ctrl+A ก่อน แล้วจึงค่อยอ่าน

ลองคลิกดูที่ลิงค์รูปด้านล่าง นี่คือหน้าบล๊อกของคุณ ที่ผมมองเห็นเวลาเข้าไปอ่านครับ

//photos1.hi5.com/0035/027/364/jvI3eF027364-02.jpg

 

โดย: ครูเอก 5 พฤษภาคม 2551 15:26:13 น.  

 

ขอบคุณคุณครูที่ไปเยี่ยมน่ะค่ะ....บล็อคครูมีประโยชน์มากเลยค่ะ ชอบเรียนรู้เกี่ยวกับ excel ค่ะ นี่ถ้าทำงานอยู่คงจะมาเก็บความรู้จากคุณครูไปใช้

 

โดย: นา (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 น.  

 

อยากทราบว่าถ้าเราใช้ Vlookup แต่ฐานข้อมูลไม่ได้อยู่ใน sheet หน้าเดียวกัน จะต้องใส่สูตรอย่างไร
ถ้าฐานข้อมูลที่อยู่หน้าเดียวกันใช้ =VLOOKUP($B$12,$B$21:$E$24,2,0)

 

โดย: cherry IP: 117.47.59.232 13 กันยายน 2551 16:55:27 น.  

 

สวัสดีครับ คุณ cherry

ผมเขียนไว้แล้วในบทความข้างต้น ข้อ 4. การดึงข้อมูลต่างชีท หรือต่างไฟล์ กรุณาไปอ่านดูครับ อยู่ท้ายๆ บทความน่ะครับ

 

โดย: ครูเอก 13 กันยายน 2551 18:37:51 น.  

 

จะทำvlookup ในชีตเดียวกันแต่จะทำแบบใส่เซลนี้ที่ตั้งตนไว้เช่นตั้งต้น a5 แต่ข้อความในa5 เหมือนกับข้อความในg5 ก็จะให้แสดงใน g5 เหมือนกัน ปล.แล้วจะนำข้อมูลใน g5 ไปคำนวนได้ไหม //www.bimon46@gmail.com จะขอบพระคุณอย่างสูง

 

โดย: kookai IP: 118.172.196.207 30 ตุลาคม 2551 0:16:05 น.  

 

ถึงคุณ kookai
เอ่อ...ผมไม่เข้าใจคำถามครับ

 

โดย: ครูเอก 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 น.  

 

ขอบคุณมากๆเลยครับ กำลังศึกษาเรื่อง Vlookup อยู่ ตอนนี้ทำข้าม sheet ได้แล้ว สงสัยอยู่พอดีว่าข้ามไฟล์ได้หรือเปล่า รอดแล้ว^^

 

โดย: พรอนันต์ IP: 118.172.40.51 7 มกราคม 2556 15:30:36 น.  

 

หากใช้วิธีนำข้อมูลจากคนละชีท ไฟล์เดียวกันแล้ว
เราจะทำยังไง หากต้องการใช้สูตรนี้ในบรรทัดถัดๆมา แต่ให้เปลี่ยนชื่อชีทได้ตามลำดับตอนลากสูตรลงมาคะ ตอนนี้เราต้องเปลี่ยนชื่อชีทแบบแมนนอลคะ

 

โดย: รบกวนสอบถามหน่อยคะ IP: 171.6.244.65 16 พฤษภาคม 2561 13:33:41 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 


ครูเอก
Location :
กรุงเทพฯ Thailand

[ดู Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
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 มิได้มีส่วนรู้เห็น หรือพิสูจน์ข้อเท็จจริงใดๆ ทั้งสิ้น อีกทั้งไม่จำเป็นต้องร่วมรับผิดชอบ ต่อทุกความคิดเห็นใดๆ
Friends' blogs
[Add ครูเอก's blog to your web]
Links
 
MY VIP Friend


 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.