Page 1 of 1

ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Sun Oct 15, 2017 10:56 pm
by yangkodza
แผ่นงานข้อมูลคะแนน
01.GIF
แผ่นงานรายชื่อนักเรียน
02.GIF
จากแผ่นงาน ข้อมูลคะแนน นักเรียนแต่ละคนมีคะแนนอยู่ และบางคนก็ไม่มีคะแนน
และที่สำคัญรายชื่อนักเรียนใน แผ่นงาน ข้อมูลคะแนน ไม่ได้เรียงกัน

จุดประสงค์อยากให้ทำการดึงค่าคะแนนทั้ง 5 วิชา ไปใส่ ในแผ่นงานรายชื่อนักเรียน
โดยอ้างอิงจาก เลขประจำตัว :flw:
คะแนน Summer.xlsx

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 6:42 am
by snasui
:D ใช้ Vlookup มาช่วยได้ ดูการใช้งานที่นี่ครับ wordpress/vlookup/

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 9:58 am
by yangkodza
snasui wrote::D ใช้ Vlookup มาช่วยได้ ดูการใช้งานที่นี่ครับ wordpress/vlookup/
ผมลองทำตามนี้ครับ
ค่าต้นทางจำเป็นต้องเรียงจากน้อยไปมากก่อน (เลขประจำตัว)
และผมใส่สูตรแบบนี้
F3=VLOOKUP($B3,ข้อมูลคะแนน!$A$3:$H$146,4,TRUE)
จากนั้นคัดลอกไปทางขวา และต้องเปลี่ยนค่า Col_Index_Num เพิ่มที่ละ1
แล้วลากลง

การที่เราเพิ่มค่า Col_Index_Num มีวิธีไหนที่ลากไปทางขวาแล้ว ค่าเพิ่มเองไหมครับ
บางงานผมใช้ ค่า Col_Index_Num หลายค่ามากครับ :flw:

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 11:18 am
by logic
่ลองใช้ Columns ช่วยดูครับ

F3 =VLOOKUP($B3,ข้อมูลคะแนน!$A$3:$H$146,Columns($f3:f3)+3,TRUE)

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 11:30 am
by yangkodza
logic wrote:่ลองใช้ Columns ช่วยดูครับ

F3 =VLOOKUP($B3,ข้อมูลคะแนน!$A$3:$H$146,Columns($f3:f3)+3,TRUE)
ยอดครับ ใช้การได้ดีเลยครับ
แบบนี้กรณีลง เราก็ใช้ Row ใช่ไหมครับ
ปกติต้องมานั่งเปลี่ยนค่าเอาเอง 20 กว่าค่า
ขอบคุณมากครับ :rz:

รบกวนช่วยอธิบาย Columns($f3:f3)+3

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 11:44 am
by logic
Columns($f3:f3) คือจำนวนคอลัมน์จาก f3 ถึง f3 ผลลัพธ์คือ 1 คอลัมน์ ที่บวกกับเลข 3 เพราะต้องการให้กลายเป็น 4

สำคัญอยู่ที่เครื่องหมาย $ ในสูตร จะเห็นว่ามีอยู่ที่ f3 ตัวแรกเพื่อตรึงตำแหน่ง พอคัดลอกไปขวามือ 1 ช่องมันก็จะเป็น Columns($f3:g3) ผลลัพธ์มันจะเพิ่ม 1 ค่า คัดลอกไปกี่ช่องมันก็เพิ่มค่าไปเท่านั้นครับ

ในทางบรรทัดจะใช้ rows ไม่ใช่ row ครับ

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 1:21 pm
by yangkodza
ตอนนี้ จากข้อมูลของผม ถ้าลากสูตรไปทางขวา ทำได้แล้ว
จากสูตร AB4=VLOOKUP($Z4,$C$4:$W$53,COLUMNS($D4:D4)+1,TRUE)
ข้อมูลจะถูกดึงเรียงกันต่อไปทางขวามือ

แต่อยากจะให้ ลากลง แล้วข้อมูลเรียงลงมาแทนทำไม่ได้สักที
ช่วยชี้แนะทีครับ :flw:

Vlookup.xlsx

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 1:25 pm
by logic
ในไฟล์ที่ส่งมาด้วยยัผมงไม่พบว่ามีปัญหา ไม่ทราบว่าพบปัญหาที่เซลล์ไหนครับ

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 1:28 pm
by yangkodza
logic wrote:ในไฟล์ที่ส่งมาด้วยยัผมงไม่พบว่ามีปัญหา ไม่ทราบว่าพบปัญหาที่เซลล์ไหนครับ
แทนที่จะวิ่งไปทางขวา อยากให้วิ่งลงล่างแทนครับ :flw:

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 1:32 pm
by logic
ผมดูไฟล์เทียบกับภาพที่แนบมา ถึงบางอ้อเลยครับ

ง่าย ๆ ลองสังเกตว่าที่เห็นว่าได้ผลลัพธ์มันไปอ้างอิงเซลล์ไหน ที่ไม่ได้ผลลัพธ์มันไปอ้างอิงเซลล์ไหน

ตรงนี้เรื่องพื้นฐานเลยนะครับ ผมขอแนะนำให้ไปอ่าน link ที่อาจารย์โพสต์ด้านบนอย่างละเอียด เข้าใจไม่ยากครับ :)

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 6:43 pm
by yangkodza
ตอนนี้ทำได้แล้วครับ
ผมใช้ AB7=VLOOKUP($Z$7,$C$4:$W$53,ROWS(D$4:D4)+1,0)

ขอบคุณครับ :P

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 6:58 pm
by snasui
:D เข้ามาอธิบายเพิ่มเติมเรื่องการตรึงตำแหน่งเซลล์ครับ

การตรึงตำแหน่งเซลล์เป็น $Z$7 แสดงว่าให้คอลัมน์และบรรทัดคงที่ไว้เช่นนั้นไม่ว่าจะคัดลอกสูตรไปทิศทางใด กรณีต้องการ Lookup หลายค่าต่อเนื่องกันไปจะให้ผลที่ไม่ถูกต้อง เพราะผลลัพธ์จะได้ค่าเดียวไม่ว่าจะคัดลอกสูตรลงไปมากน้อยเพียงใด

สูตรนั้นเป็นการ Lookup จากคอลัมน์ Z ดังนั้น คอลัมน์ Z จะต้องเป็นคอลัมน์หลักที่จะต้องมีข้อมูลทุกเซลล์แตกต่างกันไป ไม่ใช่ค่าเดียวกันและไม่ใช่ค่าว่าง ไม่เว้นเป็นช่วง เช่นนี้เป็นต้น

การตรึงตำแหน่งเป็นสิ่งที่จะต้องทำความเข้าใจและใช้ให้เป็น ศึกษาเพิ่มเติมจาก Link นี้ครับ wordpress/beginner-knowledge/

Re: ขอสูตรจับคู่ช่วงข้อมูลครับ

Posted: Mon Oct 16, 2017 7:39 pm
by yangkodza
snasui wrote::D เข้ามาอธิบายเพิ่มเติมเรื่องการตรึงตำแหน่งเซลล์ครับ

การตรึงตำแหน่งเซลล์เป็น $Z$7 แสดงว่าให้คอลัมน์และบรรทัดคงที่ไว้เช่นนั้นไม่ว่าจะคัดลอกสูตรไปทิศทางใด กรณีต้องการ Lookup หลายค่าต่อเนื่องกันไปจะให้ผลที่ไม่ถูกต้อง เพราะผลลัพธ์จะได้ค่าเดียวไม่ว่าจะคัดลอกสูตรลงไปมากน้อยเพียงใด

สูตรนั้นเป็นการ Lookup จากคอลัมน์ Z ดังนั้น คอลัมน์ Z จะต้องเป็นคอลัมน์หลักที่จะต้องมีข้อมูลทุกเซลล์แตกต่างกันไป ไม่ใช่ค่าเดียวกันและไม่ใช่ค่าว่าง ไม่เว้นเป็นช่วง เช่นนี้เป็นต้น

การตรึงตำแหน่งเป็นสิ่งที่จะต้องทำความเข้าใจและใช้ให้เป็น ศึกษาเพิ่มเติมจาก Link นี้ครับ wordpress/beginner-knowledge/
ขอบคุณมากครับอาจาร์ย
ที่แห่งนี้ไม่เคยทำให้ผิดหวังเลย :thup: