PDA

View Full Version : ให้แสดงข้อมูลที่คล้ายกัน เมื่อใช้ Vlookup ค้นหา



Verapansk
20 Dec 2010, 10:41
ผมใช้ Vlookup ค้นหาข้อมูล แต่ Vlookup จะหาเฉพาะ คำเต็มอย่างเดียว ต่างจาก Access ที่ เราใส่ข้อมูลแค่บางส่วนAccess ก็จะแสดงข้อมูลที่ค้นหา ที่ขึ้นต้นเหมือนกันมาให้ แสดงข้อมูลที่ขึ้นต้นเหมือนกันได้ เช่น
AA 2
AAA 3
ถ้าใช้ Vlookup หา AA แล้วจะได้ผล คือ 2
แต่ถ้าผมต้องการ ใส่ข้อมูลเพื่อ vlookup เพียง A ตัวเดียว แล้วให้ Excel แสดงผลออกมา
AA 2
AAA 3
เหมือน Access ต้องทำยังไงได้บ้างครับ ในExcel จะมองไม่เห็น เนื่องจากInput ไม่ตรง กับฐานข้อมูลที่มี
vLookup จะแสดงผลที่เจอตัวแรกแล้วหยุด ไม่ไปค้นหาบรรทัดถัดไปมาแสดงให้ด้วยครับ
สิ่งที่ต้องการ
1. ให้ vlookup มองinput เท่าที่มีอยู่แล้วแสดงข้อมูลที่ขึ้นต้นคล้ายกับ Input ไม่ว่าจะ Input เพียง อักษรเดียวหรือหลายตัว
2. แสดงขัอมูลจนหมด ไม่หยุดเพียงข้อมูลแรกตัวเดียว

ขอบคุณครับ
วีระพันธ์
ปล. เพิ่งถามครั้งแรก หากผิดพลาดอย่างไร แนะนำด้วยครับ

pichartyapan
20 Dec 2010, 10:50
ผมใช้ Vlookup ค้นหาข้อมูล แต่ Vlookup จะหาเฉพาะ คำเต็มอย่างเดียว ต่างจาก Access ที่ เราใส่ข้อมูลแค่บางส่วนAccess ก็จะแสดงข้อมูลที่ค้นหา ที่ขึ้นต้นเหมือนกันมาให้ แสดงข้อมูลที่ขึ้นต้นเหมือนกันได้ เช่น
AA 2
AAA 3
ถ้าใช้ Vlookup หา AA แล้วจะได้ผล คือ 2
แต่ถ้าผมต้องการ ใส่ข้อมูลเพื่อ vlookup เพียง A ตัวเดียว แล้วให้ Excel แสดงผลออกมา
AA 2
AAA 3
เหมือน Access ต้องทำยังไงได้บ้างครับ ในExcel จะมองไม่เห็น เนื่องจากInput ไม่ตรง กับฐานข้อมูลที่มี
vLookup จะแสดงผลที่เจอตัวแรกแล้วหยุด ไม่ไปค้นหาบรรทัดถัดไปมาแสดงให้ด้วยครับ
สิ่งที่ต้องการ
1. ให้ vlookup มองinput เท่าที่มีอยู่แล้วแสดงข้อมูลที่ขึ้นต้นคล้ายกับ Input ไม่ว่าจะ Input เพียง อักษรเดียวหรือหลายตัว
2. แสดงขัอมูลจนหมด ไม่หยุดเพียงข้อมูลแรกตัวเดียว

ขอบคุณครับ
วีระพันธ์
ปล. เพิ่งถามครั้งแรก หากผิดพลาดอย่างไร แนะนำด้วยครับ
คำตอบที่ได้ของ access เป็นการแสดงค่าของทุกค่าที่เป็น like AA* ซึ่งมันเป็นคนละ concept กับสุตร Vlookup สิ่งที่มีใน excel แล้วทำงานคล้าย access คือ Filter ซึ่งมี 2 แบบให้เลือกใช้ คือ auto filter และ advance filter ครับ สิ่งที่คุณต้องการน่าจะเป็นการใช้ advance filter เพราะสามารถกำหนดพื้นที่แสดงผลให้อยู่คนละที่กับ source ได้ครับ ซึ่งจะคล้ายกับ access ที่จะเกิดเป็น query ใหม่...ไม่แน่ใจว่าใช่คำตอบที่ต้องการหรือเปล่า...

excel_fever
20 Dec 2010, 11:32
ทำได้ครับแต่วิธีการค่อนข้างยุ่งยากพอควร
http://www.excelexperttraining.com/forums/showthread.php?t=6336&highlight=search
ดูไฟล์แนบที่ครูเอกตอบครับ อธิบายได้ดีมาก

สมเกียรติ
20 Dec 2010, 18:01
ให้ใช้สูตร Left(Cell)="A" เพื่อตรวจสอบตำแหน่งรายการที่มีตัว A อยู่ซ้ายสุด จากนั้นจึงใช้ Small IF หาตำแหน่งรายการต่อครับ

แนบแฟ้มมาด้วยจะดีกว่าเขียนถามกันเฉยๆครับ

Verapansk
22 Dec 2010, 17:20
ขอบคุณมากครับ สำหรับคำแนะนำ
ผมจะแนบไฟล์มาให้อีกครั้งครับ
เครื่องที่บริษัทติดปัญหาครับ

ขอบคุณครับ
วีระพันธ์

Verapansk
22 Dec 2010, 21:09
ผมได้แนบไฟล์มาด้วยแล้วครับ
ขอตัวอย่างและคำแนะนำด้วยครับ

ขอบคุณครับ
วีระพันธ์

excel_fever
22 Dec 2010, 21:54
ลองดูไฟล์ที่ผมแนบในกระทู้นี้ครับ
http://www.excelexperttraining.com/forums/showthread.php?t=6911
ผมว่าคล้าย ๆ กัน

Verapansk
23 Dec 2010, 12:33
ผมได้ไปดูของครูเอกแล้วครับ
รู้สึกเหมือนที่ต้องการเลยครับ
คิดว่าน่าจะปรับใช้ได้ครับ
ขอบคุณครับ
วีระพันธ์

Verapansk
25 Dec 2010, 19:26
ผมได้ลองทำความเข้าใจไฟล์ของครูเอก ที่คุณexcel_fever ส่งมาให้ดูแล้ว ตรงกับที่ต้องการเลยครับ
แต่พอลองปรับให้เข้ากับรูปแบบฐานข้อมูลที่ผมใช้ โปรแกรมไม่ทำงานให้ได้
ผลเหมือนของครูเอกครับ
ผมแยกชีทของครูเอก โดยนำข้อมูลชื่อโรงแรมไปไว้อีกชีทต่างหาก เพื่อสมมติให้เหมือนของผมเนื่องจากมีข้อมูลจำนวนมาก โปรแกรมทำงานไม่ได้ ผมปรับสูตรไม่ถูกครับ
รบกวน ขอคำแนะนำด้วยครับ
ฟังก์ชั่นบางตัว เช่น Cell ผมเปิดตำราดูแล้ว ยังไม่เข้าใจการทำงาน
ยังไงก็ขอตัวอย่างใส่ไฟล์แนบด้วยนะครับ
ผมแนบไฟล์ที่ทำไว้มาไม่ได้ครับ ขนาดใหญ่เกิน ไม่ทราบจะแนบอย่างไรครับ
หากเป็นเป็นได้รบกวน ใช้ไฟล์ของครูเอกก็ได้ครับ เพียงนำเอารายชื่อโรงแรมไปไว้อีกชีทเท่านั้นครับ

ขอบคุณมากครับ
วีระพันธ์

jojo
26 Dec 2010, 00:21
ผมมีอีกวิธีมาเสนอเป็นทางเลือกครับ ลองทำสูตรแบบในชีต database ดังนี้ครับ

1. ใส่สูตร countif ใน column A เพื่อนับจำนวนข้อมูลที่เราต้องการ และเพื่อให้เป็น reference ในสูตร vlookup
2. ใช้สูตร search ร่วมกับ iserror ใน column ฺB เพื่อเป็นข้อมูลให้กับสูตรใน column A
3. ใช้สูตร if กับ vlookup เพื่อดึงข้อมูลจากตารางฐานข้อมูลทางด้านซ้าย ตามจำนวนที่ปรากฏอยู่ในเซล i2

ใช้ได้เหมือนกัน แต่มีข้อพึงระวังอยู่ว่า
1. เวลาที่มีข้อมูลในตารางฐานข้อมูลเพิ่มขึ้น ต้อง copy สูตรใน column A และ B ลงมาด้วย
2. จำนวนบรรทัดของตาราง result ต้องมีมากกว่า qty ในเซล i2 เสมอ เพื่อแสดงข้อมูลให้ครบ (ต้อง copy สูตรใน column L - O ลงมาพร้อมกับ run number ใน column K ลงมาพร้อมกัน)

ค่อนข้างยุ่งยากนิดหน่อยครับ
คุณวีระพันธ์ สามารถ cut column H - O ไป paste ในชีตอื่นเพื่อแยกผลลัพธ์ออกจากฐานข้อมูลก็ได้ครับ

โจ้

เอก
26 Dec 2010, 09:17
ผมได้ลองทำความเข้าใจไฟล์ของครูเอก ที่คุณexcel_fever ส่งมาให้ดูแล้ว ตรงกับที่ต้องการเลยครับ
แต่พอลองปรับให้เข้ากับรูปแบบฐานข้อมูลที่ผมใช้ โปรแกรมไม่ทำงานให้ได้
ผลเหมือนของครูเอกครับ
ผมแยกชีทของครูเอก โดยนำข้อมูลชื่อโรงแรมไปไว้อีกชีทต่างหาก เพื่อสมมติให้เหมือนของผมเนื่องจากมีข้อมูลจำนวนมาก โปรแกรมทำงานไม่ได้ ผมปรับสูตรไม่ถูกครับ
รบกวน ขอคำแนะนำด้วยครับ
ฟังก์ชั่นบางตัว เช่น Cell ผมเปิดตำราดูแล้ว ยังไม่เข้าใจการทำงาน
ยังไงก็ขอตัวอย่างใส่ไฟล์แนบด้วยนะครับ
ผมแนบไฟล์ที่ทำไว้มาไม่ได้ครับ ขนาดใหญ่เกิน ไม่ทราบจะแนบอย่างไรครับ
หากเป็นเป็นได้รบกวน ใช้ไฟล์ของครูเอกก็ได้ครับ เพียงนำเอารายชื่อโรงแรมไปไว้อีกชีทเท่านั้นครับ

ขอบคุณมากครับ
วีระพันธ์
เพิ่งมาเห็นว่า มีการอ้างถึงไฟล์ตัวอย่างของผมด้วย ลองย้อนไปดู ก็ชักจะจำไม่ค่อยได้แล้วว่า ตอนนั้นคิดไว้อย่างไร แต่จากที่บอกว่า "เมื่อแยกชีท โดยนำข้อมูลชื่อโรงแรมไปไว้อีกชีทต่างหากแล้ว โปรแกรมทำงานไม่ได้นั้น" ผมทดลองดูแล้วพบว่า มันก็มีทั้งที่ "ได้" และ "ไม่ได้"

ที่ "ได้" ก็คือ การค้นหาและแสดงผลยังทำได้ปกติ ให้ลองทำตามนี้คือ
1. Cut ช่วง A1:C1 ไปวางที่ D1:F1
2. Cut ทั้งคอลัมน์ A:C ไปวางที่ชีทใหม่
3. สูตรต่างๆ ที่อ้างอิงชีทและตำแหน่ง ก็จะปรับให้อัตโนมัติ (แต่ถ้ามีการขยับบรรทัด ก็ต้องปรับสูตรเล็กน้อย เนื่องจากใช้ฟังก์ชัน ROW()-2 โดยปรับให้ตรงกับแถวจริง)

แต่เมื่อทำดังข้างบนแล้ว สิ่งที่ไม่ทำงานก็คือ HyperLink (จริงๆ มันทำงานครับ แต่ลิงค์ไปผิดชีท) เนื่องจากในสูตรในฟังก์ชัน CELL("Filename") ซึ่งอ้างอิงถึงชีทปัจจุบัน มันก็เลยยังลิงค์ไปยังเซลล์ในชีทปัจจุบัน (เดี๋ยวมีเวลาจะลองดูอีกทีครับ)

Tsubaki
26 Dec 2010, 15:17
ทำได้ครับแต่วิธีการค่อนข้างยุ่งยากพอควร
http://www.excelexperttraining.com/forums/showthread.php?t=6336&highlight=search
ดูไฟล์แนบที่ครูเอกตอบครับ อธิบายได้ดีมาก

ผมลองตามเข้าไปศึกษาแฟ้มของครูเอกแล้วไม่สามารถเปิด Hyperlink ได้ครับ โดยจะขึ้นข้อความว่า "ไม่สามารถเปิดแฟ้มที่ระบุได้" ไม่ทราบว่ามีใครเจอปัญหาเหมือนผมบ้างครับ

Verapansk
26 Dec 2010, 15:31
ผมลองทำอยู่หลายชั่วโมงซึ่งปรับแต่งจากไฟล์ของครูเอก แล้วใช้vlookup ออกมาได้อย่างที่ต้องการแล้วครับ สูตรส่วนใหญ่ผมลอกจากของครูเอกมาเลย ซึ่งผลตรงกับที่คุณJoJo แนะนำเลยครับ ขอบคุณมากๆครับ ฐานข้อมูลเยอะจำนวนเกือบ80000บรรทัด เลยต้องแยกสองชีท เวลาVlookup ใช้เวลาอยู่ครับ
แต่ตอนนี้ เกิดปัญหาตอนที่ vlookup กลับ แสดง#NA เป็นเฉพาะช่วงบางช่วง บางช่วงก็ไม่เป็นไร ไม่แน่ใจว่าการตั้งค่าฟอร์แมทเซลจะเกี่ยวหรือเปล่านะครับ ยังไม่เข้าใจ ทั้งๆที่ผมลอกสูตรลงมา จะลองหาดูอีกทีแล้วจะแจ้งผลให้ทราบครับ

ขอบคุณมากครับ
วีระพันธ์

Verapansk
26 Dec 2010, 17:02
คุณ JoJo ครับ

ผมศึกษาสูตรที่คุณ JoJo ใช้ VLOOKUP($K3,$A:$F,L$1,FALSE),"")
ไม่เข้าการใช้ในลักษณะนี้เลยครับ(เคยแต่แบบVLOOKUP($C$19,$C$3:F7,1,FALSE)) ในL1 to O1 มีใส่เลข 3 4 5 6 ด้วย พอเอาออก VLOOKUP จะแสดง #VALUE เพราะอะไรครับ
ไม่เข้าใจครับ ขอคำแนะนำด้วยครับ
ขอบคุณครับ
วีระพันธ์

jojo
26 Dec 2010, 22:28
คุณ JoJo ครับ

ผมศึกษาสูตรที่คุณ JoJo ใช้ VLOOKUP($K3,$A:$F,L$1,FALSE),"")
ไม่เข้าการใช้ในลักษณะนี้เลยครับ(เคยแต่แบบVLOOKUP($C$19,$C$3:F7,1,FALSE)) ในL1 to O1 มีใส่เลข 3 4 5 6 ด้วย พอเอาออก VLOOKUP จะแสดง #VALUE เพราะอะไรครับ
ไม่เข้าใจครับ ขอคำแนะนำด้วยครับ
ขอบคุณครับ
วีระพันธ์



คำถามแรก ทำไมถึงมี comma และ เครื่องหมาย "" อยู่หลังสูตร vlookup อีก
ตอบ จริง ๆ แล้ว comma และ "" ไม่ใช่ส่วนหนึ่งของสูตร vlookup ด้านซ้ายครับ แต่เป็นส่วนของสูตร IF ที่ครอบสูตร vlookup นี้อยู่ครับ
=IF( $K3<=$I$2 , VLOOKUP($K3,$A:$F,L$1,FALSE) , "") หมายถึง ถ้าค่าในเซล K3 น้อยกว่าหรือเท่ากับค่าในเซล I2 ให้คำนวณโดย
ใช้สูตร vlookup นั้น แต่ถ้า ค่าในเซล K3 มากกว่า ค่าในเซล I2 ให้แสดงค่าว่าง ซึ่งแทนด้วยเครื่องหมาย "" ครับ

คำถามที่สอง 3 4 5 6 คืออะไร
ตอบ 3 4 5 6 คือ column ที่เท่าไหร่นับจาก column ที่เราใช้อ้างอิงในสูตร vlookup
ในที่นี้เราอ้างอิง column A ค่าที่เราจะนำมาแสดงอยู่ใน column C ถึง F ซึ่งก็คือ column ที่ 3 ถึง 6 นับจาก column A ครับ

คำถามที่สาม ทำไมเอา 3 4 5 6 ออกแล้ว สูตรจึงแสดงผล #VALUE
ตอบ เพราะเหตุผลในข้อสอง เมื่อเราไม่ได้ระบุว่าเราจะเอาค่าใน column ใดมาแสดง สูตร vlookup มี argument ไม่ครบ
ที่จะคำนวณผลลัพธ์ให้เราได้ครับ

เอก
26 Dec 2010, 23:28
คุณ JoJo ครับ

ผมศึกษาสูตรที่คุณ JoJo ใช้ VLOOKUP($K3,$A:$F,L$1,FALSE),"")
ไม่เข้าการใช้ในลักษณะนี้เลยครับ(เคยแต่แบบVLOOKUP($C$19,$C$3:F7,1,FALSE)) ในL1 to O1 มีใส่เลข 3 4 5 6 ด้วย พอเอาออก VLOOKUP จะแสดง #VALUE เพราะอะไรครับ
ไม่เข้าใจครับ ขอคำแนะนำด้วยครับ
ขอบคุณครับ
วีระพันธ์
เหมือนว่าคุณ Verapansk ยังไม่เข้าใจการใช้ VLOOKUP เลย ขออนุญาตแนะนำให้ไปอ่านเพิ่มเติมเกี่ยวกับ


การใช้ VLOOKUP เพื่อแสดงข้อมูลจากฐานข้อมูล ตอนที่ 1
http://it-for-hr.blogspot.com/2010/01/vlookup-1.html
การใช้ VLOOKUP เพื่อแสดงข้อมูลจากฐานข้อมูล ตอนที่ 2
http://it-for-hr.blogspot.com/2010/02/vlookup-2.html

Verapansk
27 Dec 2010, 21:20
ผมได้ลองทำวิธีของคุณ JoJo แล้วครับ งานเสร็จเรียบร้อยครับ ขอบคุณมากครับ
เครื่องทำงานได้เร็วกว่าด้วยครับ ผมคาดว่าเนื่องจากมีสูตรน้อยกว่า การทำงานเลยน้อยกว่า
ง่ายกว่าครับ
ขอบคุณครูเอกมากครับ สำหรับคำแนะนำเพิ่มเติม
วีระพันธ์

Verapansk
27 Dec 2010, 21:36
คุณ JoJO ครับ
ที่ผมยังไม่เข้าใจคือ ที่คุณJoJo ใช้ VLOOKUP($K3,$A:$F,L$1,FALSE) บวกกับ การใช้ 3 4 5 6 ครับ
ปกติผมอ้างอิงที่จะ VLookup แบบ แบบVLOOKUP($C$19,$C$3:F7,1,FALSE)) คือ ให้vlookup C19 ใน column C3: F7, แล้วให้เอา ค่าจาก column 1 แสดง
สำหรับที่คุณ JoJo ใช้ ที่ทำให้ผมยังไม่เข้าใจคือ ให้Vlookup K3 ใน A : F โดยไม่ระบุช่วงพิกัด เหมือนที่ผมใช้ ส่วนค่า L1 ปกติผมจะระบุว่าเป็นColumn ไหนที่จะมาแสดง แต่ในสูตรนี้ใช้ L1 กับ เลข 3 4 5 6 ครับ
ส่วน If ผมเข้าใจถูกต้องแล้วครับ ตามที่คุณ JoJo อธิบายมาครับ

ขอบคุณครับ
วีระพันธ์

jojo
28 Dec 2010, 23:49
คุณ JoJO ครับ
ที่ผมยังไม่เข้าใจคือ ที่คุณJoJo ใช้ VLOOKUP($K3,$A:$F,L$1,FALSE) บวกกับ การใช้ 3 4 5 6 ครับ
ปกติผมอ้างอิงที่จะ VLookup แบบ แบบVLOOKUP($C$19,$C$3:F7,1,FALSE)) คือ ให้vlookup C19 ใน column C3: F7, แล้วให้เอา ค่าจาก column 1 แสดง
สำหรับที่คุณ JoJo ใช้ ที่ทำให้ผมยังไม่เข้าใจคือ ให้Vlookup K3 ใน A : F โดยไม่ระบุช่วงพิกัด เหมือนที่ผมใช้ ส่วนค่า L1 ปกติผมจะระบุว่าเป็นColumn ไหนที่จะมาแสดง แต่ในสูตรนี้ใช้ L1 กับ เลข 3 4 5 6 ครับ
ส่วน If ผมเข้าใจถูกต้องแล้วครับ ตามที่คุณ JoJo อธิบายมาครับ

ขอบคุณครับ
วีระพันธ์

วิธีการใช้ vlookup ของผมต่างจากคุณวีระพันธ์บ้างครับ คุณวีระพันธ์ใช้วิธีการใช้ vlookup ดึงข้อมูลตรงจากตารางฐานข้อมูลเลย
โดยให้ค่าอ้างอิงเป็นข้อมูลที่ต้องการค้นหาโดยตรง
ส่วนตารางที่ผมส่งไปให้นั้น ผมใช้ vlookup ทางอ้อมครับ คือ ผมไปปรับแก้ตารางฐานข้อมูลก่อน (เพิ่ม column A และ B)
แล้วจึงใช้ column K เป็นค่าอ้างอิงแทนครับ

ส่วนการใช้ L1 ก็มี concept เหมือนกับที่คุณวีระพันธ์ทราบคือ argument ตรงส่วนนี้ของ vlookup เป็น "column ที่เท่าไหร่ของตารางฐานข้อมูล" แต่แทนที่จะใช้ค่าคงที่ใส่เข้าไปในสูตรเลย ผมใส่ชื่อเซลอ้างอิงเข้าไปแทนแค่นั้นเองครับ
ค่า 3 4 5 6 ก็คือ column ที่ 3 ถึง 6 ของตารางฐานข้อมูลครับ

การระบุช่วงพิกัด A:F หมายถึง พิกัดที่เป็นตารางฐานข้อมูลของผมก็คือ column A ถึง F ครับ คุณวีระพันธ์สามารถใส่ข้อมูลเพิ่มเติมทาง
ด้านล่างของตารางฐานข้อมูล (A - F) ในชีต database แล้วเรายังสามารถดู result ได้โดยที่ไม่ต้องไปปรับสูตรเพิ่มครับ :smile:
(ลองดูไฟล์ที่แนบมาให้เพิ่มครับ)

Verapansk
1 Jan 2011, 23:32
เรียน คุณ JojO ครับ
ขอบคุณมากครับ สำหรับคำแนะนำเพิ่มเติมครับ ผมได้ลองทำตามที่แนะนำดูแล้วครับ เข้าใจอะไรอีกเยอะเลย
พอทำไปเรื่อย เห็นว่า ข้อมูลที่ดึงมาแสดง ใน Max Q'ty ไม่ได้เรียงจากมากไปหาน้อย ถ้าต้องการให้แสดงทันทีที่ข้อมูลแสดงเลย จะต้องเขียนสูตรได้อย่างไรบ้างครับ ตอนนี้ข้อมูลแสดงตาม ลำดับรายการอยู่ครับ หากใช้ Sorting หน้าตาของชีทจะเปลี่ยนไป
ขอบคุณครับ
วีระพันธ์

jojo
2 Jan 2011, 22:37
เรียน คุณ JojO ครับ
ขอบคุณมากครับ สำหรับคำแนะนำเพิ่มเติมครับ ผมได้ลองทำตามที่แนะนำดูแล้วครับ เข้าใจอะไรอีกเยอะเลย
พอทำไปเรื่อย เห็นว่า ข้อมูลที่ดึงมาแสดง ใน Max Q'ty ไม่ได้เรียงจากมากไปหาน้อย ถ้าต้องการให้แสดงทันทีที่ข้อมูลแสดงเลย จะต้องเขียนสูตรได้อย่างไรบ้างครับ ตอนนี้ข้อมูลแสดงตาม ลำดับรายการอยู่ครับ หากใช้ Sorting หน้าตาของชีทจะเปลี่ยนไป
ขอบคุณครับ
วีระพันธ์

คุณวีระพันธ์ครับ มีหลายวิธีที่จะทำให้ข้อมูลที่ filter มาได้ sort ตามที่ต้องการ เท่าที่ผมรู้อาจจะทำได้ดังนี้ครับ

1. เขียนสูตรเพิ่มเพื่อให้ข้อมูลที่ filter มานั้น แสดงเป็นข้อมูลที่ sort แล้ว แต่มีข้อเสียคือ สูตรที่จะเขียนขึ้นมานั้นจะเป็นสูตรที่ซับซ้อน ยากแก่ความเข้าใจ และ อาจไม่ยืดหยุ่นพอหากเราต้องการจะ sort แบบอื่น

2. สร้าง macro / vba code เพื่อดึงข้อมูลมา sort เลยหลังจากที่เรา filter ข้อมูลมาแล้ว วิธีนี้มีข้อเสียคล้ายกับข้อหนึ่งครับ คือยากสำหรับผู้ใช้ Excel ทั่วไป และหากจะเขียน code ให้ยืดหยุ่นต้องมีทักษะสูง อาจต้องมีความรู้เรื่อง programming

3. sort ที่ตารางฐานข้อมูลตามที่ต้องการ (sheet 'database' A1:F13) วิธีนี้น่าจะเหมาะที่สุดตามความเห็นของผมครับ ไม่ต้องเขียนสูตรเพิ่ม และ ไม่ต้องสร้าง vba code ผลลัพธ์ก็จะออกมาตามที่ต้องการด้วยครับ (ลองดูในไฟล์แนบ)

jojo:smile:

Verapansk
5 Jan 2011, 22:39
หลังจากที่ได้พิมพ์คำถามหาคุณ JoJO ผมก็เพิ่งนึกออกว่าจัดการที่ฐานข้อมูลก็ง่ายดีครับ
ขอบคุณคุณJoJo มากๆครับ สำหรับคำแนะนำ เพื่อนๆที่ทำงานส่วนใหญ่ก็ใช้ Excel กัน มีหนังสืออ้างอิงกัน แต่เท่าที่ฟังคือ ไม่รู้ว่าจะใช้เมื่อไรสูตรไหนดี แบบนี้เป็นกันเยอะครับ หาหนังสือมาได้ แต่พอจะนำไปใช้งานจริงๆ ไม่มีตัวอย่างๆที่เป็นงานจริงๆให้เรียนรู้กัน เลยใช้ Excel แบบง่ายๆกันมากกว่า
ผมได้สั่งCD จากครูเอกมาสองแผ่นด้วยครับ อีกไม่กี่วันคงมาถึง เพื่อเรียนรู้เพิ่มเติมครับ
ไม่ทราบว่า งานmeeting ผมพอจะไปร่วมทำความรู้จักผู้มีความรู้ทุกท่านบ้างได้หรือเปล่าครับ
จะคอยติดตามอีกทีว่าวันไหน เวลาใด หากสะดวก ผมคิดว่าจะไปทำความรู้จักกันไว้บ้างครับ
วีระพันธ์

Verapansk
9 Jan 2011, 17:51
ผมขอเรียนสอบถามต่อเนื่องจากปัญหาครั้งที่แล้วอีกครั้งครับ
จากที่คุณJoJo ได้แนะนำการใช้สูตรมาแล้ว ผมได้นำไปใช้ งานเสร็จแล้ว
แต่มาต่อข้อมูลเพิ่ม เป็นการค้นหาสองเงื่อนไขใช้สูตรแบบอาเรย์ ปรากฎว่า โปรแกรมทำงานช้ามากๆ
แต่ถ้าข้อมูลน้อยๆเหมือนในตัวอย่างก็ไม่มีปัญหาครับ
ผมอย่างทราบว่า จะเขียนสูตรแบบธรรมดาได้ยังไงบ้างครับ
ขอบคุณครับ
วีระพันธ์

สมเกียรติ
9 Jan 2011, 21:35
ไม่ทราบว่า งานmeeting ผมพอจะไปร่วมทำความรู้จักผู้มีความรู้ทุกท่านบ้างได้หรือเปล่าครับ
จะคอยติดตามอีกทีว่าวันไหน เวลาใด หากสะดวก ผมคิดว่าจะไปทำความรู้จักกันไว้บ้างครับ
วีระพันธ์

เชิญครับ:redface:

jojo
15 Jan 2011, 19:15
ผมขอเรียนสอบถามต่อเนื่องจากปัญหาครั้งที่แล้วอีกครั้งครับ
จากที่คุณJoJo ได้แนะนำการใช้สูตรมาแล้ว ผมได้นำไปใช้ งานเสร็จแล้ว
แต่มาต่อข้อมูลเพิ่ม เป็นการค้นหาสองเงื่อนไขใช้สูตรแบบอาเรย์ ปรากฎว่า โปรแกรมทำงานช้ามากๆ
แต่ถ้าข้อมูลน้อยๆเหมือนในตัวอย่างก็ไม่มีปัญหาครับ
ผมอย่างทราบว่า จะเขียนสูตรแบบธรรมดาได้ยังไงบ้างครับ
ขอบคุณครับ
วีระพันธ์

ผมลองใช้ sumproduct ผสมกับ indirect และ counta ครับ สูตรนี้ไม่ต้องเป็น array formula แต่ก็ค่อนข้างยาว
ถ้าคุณวีระพันธ์ยอมให้ row ที่ไม่เจอข้อมูลแสดงค่า 0 ก็น่าจะใช้ได้ครับ

Verapansk
17 Jan 2011, 11:34
ขอบคุณ คุณJoJo มากครับ