Page 1 of 1
สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 9:50 am
by kannaree
สวัสดีคะ อาจารย์และพี่ๆทุกๆท่าน
หนูมีเรื่องที่จะสอบถามหน่อยคะ หนูมีข้อมูล คือ (ภาพด้านล่าง )
โดยจะมีชื่อพนักงาน ,Code และแบ่ง Group
1.PNG
โดยต้องการให้
ถ้า พนักงานที่มี Group เป็น 2A > จะให้ ชื่อและ Code ไปปรากฎในชีต Group2 ของอีกไฟล์
ถ้า พนักงานที่มี Group เป็น 3A > จะให้ ชื่อและ Code ไปปรากฎในชีต Group3 ของอีกไฟล์
ถ้า พนักงานที่มี Group เป็น 4A > จะให้ ชื่อและ Code ไปปรากฎในชีต Group4 ของอีกไฟล์
ถ้า พนักงานที่มี Group เป็น 5A > จะให้ ชื่อและ Code ไปปรากฎในชีต Group5 ของอีกไฟล์
...
ไม่ทราบว่าจะต้องเขียนสูตรไปในทิศทางไหน เพื่อให้ครอบคลุมทุกกรณี
ใช้ VLOOKUP ได้ไหมคะ แล้วจะเขียนอย่างไรค่ะ
ขอบคุณมากค่ะ
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 9:51 am
by kannaree
test.xlsx
ขอโทษค่ะ ลืมแนบไฟล์ค่ะ
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 2:17 pm
by XDoll

ลองดูตามนี้นะครับ
ขอเอาไฟล์ที่แนบเป็นไฟล์ตั้งต้นเพื่อยกตัวอย่าง แล้วสร้างชีทเพิ่ม ตั้งชื่อชีท Group 2-5 ตามลำดับ
ที่ A2 ของแต่ละชีทให้คีย์
=IFERROR(INDEX(Sheet1!$A$2:$D$16,SMALL(IF(Sheet1!$D$2:$D$16="
2A",ROW($A$2:$A$16)-1),ROWS(A$2:A2)),COLUMNS($A2:A2)),"") กด Ctrl+Shift ค้างไว้แล้ว Enter คอปปี้ไปขวาถึง Column D และลงล่างจนกว่าจะไม่พบข้อมูล
*โดยที่ในสูตรที่ไฮไลท์
สีแดง ให้เปลี่ยนไปตามชื่อ Group นั้นๆ
ขั้นตอนต่อไปหลังจากทำครบทุกชีทแล้วให้แยกชีทออกมาเป็นไฟล์ใหม่โดย
1. ที่ชีท Group 2 กด Ctrl ค้างไว้ > ตามด้วยคลิ๊กที่ชื่อชีทจนครบทุก Group
2. คลิ๊กขวาที่ชีทใดชีทหนึ่งที่เราเลือกไว้(ตรงชื่อชีท) เลือก Move or Copy
3. จะปรากฏหน้าต่างใหม่ให้เลือก To Book เป็น (new book)
4 กด Ok ก้อจะได้ Group ที่แยกไฟล์ออกมาใหม่ โดยที่ สูตรยังผูกกัลไฟล์ตั้งต้นอยู่
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 4:41 pm
by kannaree
หนูได้ทดลองทำแล้วค่ะ กับข้อมูลจริง ตามภาพ จะเห็นได้ว่า มีข้อมูลที่ซ้ำกันหลายๆ ข้อมูล
(ที่ไฮไลท์สีเหลือง)
2.PNG
เมื่อใส่สูตรอีก ชีท ตามภาพ
3.PNG
ข้อมูลขึ้นแค่ No. 15 ข้อมูลอื่นไม่ปรากฏ จะต้องแก้อย่างไรค่ะ
//แล้วขอเพิ่มเติมอีกนึดคือ สูตร ต้องการ ถ้า พนักงานที่มี Group เป็น 2A or 2B or G2A > จะให้ไปปรากฎในชีต Group2 ทั้งหมด
ลองใช้
=IFERROR(INDEX(Sheet1!$A$2:$D$16,SMALL(IF(Sheet1!$D$2:$D$16=
"2*",ROW($A$2:$A$16)-1),ROWS(A$2:A2)),COLUMNS($A2:A2)),"")
แล้วใช้ไม่ได้ รบกวนพี่ๆ หน่อยคะ
ขอบคุณมากค่ะ
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 5:09 pm
by kannaree
แนบไฟล์มาด้วยค่ะ
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 5:10 pm
by snasui

จาก
Sheet1!$D$2:$D$16="2*" เปลี่ยนเป็น
Left(Sheet1!$D$2:$D$16,1)="2" ครับ
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 5:30 pm
by kannaree
=IFERROR(INDEX(Sheet1!$A$2:$D$276,SMALL(IF(LEFT(Sheet1!$D$2:$D$276,1="2"),ROW($A$2:$A$16)-1),ROWS(A$2:A2)),COLUMNS($A2:A2)),"")
จากสูตรยังไม่มีข้อมูลแสดงออกมาเลยค่ะ อาจารย์
34.PNG
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 5:33 pm
by logic
คุณ kannaree อ่านที่อาจารย์โพสต์ให้ละเอียดทุกอักขระ หรือ Copy ของอาจารย์ไปใช้เลย จะได้คีย์ไม่ผิดครับ

Re: สอบถามการใช้สูตร VLOOKUP
Posted: Wed Feb 17, 2016 5:38 pm
by XDoll
kannaree wrote:หนูได้ทดลองทำแล้วค่ะ กับข้อมูลจริง ตามภาพ จะเห็นได้ว่า มีข้อมูลที่ซ้ำกันหลายๆ ข้อมูล
//แล้วขอเพิ่มเติมอีกนึดคือ สูตร ต้องการ ถ้า พนักงานที่มี Group เป็น 2A or 2B or G2A > จะให้ไปปรากฎในชีต Group2 ทั้งหมด
ลองใช้
=IFERROR(INDEX(Sheet1!$A$2:$D$16,SMALL(IF(Sheet1!$D$2:$D$16="2*",ROW($A$2:$A$16)-1),ROWS(A$2:A2)),COLUMNS($A2:A2)),"")
ขอบคุณมากค่ะ
จากไฟล์แนบใหม่....ส่วนที่ต้องแก้ไขครับ
=IFERROR(INDEX(Sheet1!$A$2:$D$276,SMALL(IF(Sheet1![color=#FF0000]$D$2:$D$276[/color]="1B",ROW([color=#FF0000]$A$2:$A$276[/color])-1),ROWS(A$2:A2)),COLUMNS($A2:A2)),"") กด Ctrl+Shift+Enter
สีแดงจะต้องให้สอดคล้องกับช่วงข้อมูลของ sheet1 ครับ
**ข้อแก้ไขยกเลิกข้อมูลข้างต้นนะครับ**
สำหรับ Group เป็น 2A or 2B or G2A > จะให้ไปปรากฎในชีต Group2 ทั้งหมด ให้ลองแบบนี้ครับ
ที่ A2 คีย์สูตร
Code: Select all
=IFERROR(INDEX(Sheet1!$A$2:$D$276,SMALL(IF((Sheet1!$D$2:$D$276="2A")+(Sheet1!$D$2:$D$276="2B")+(Sheet1!$D$2:$D$276="G2A"),ROW($A$2:$A$276)-1),ROWS(A$2:A2)),COLUMNS($A2:A2)),"")
กด Ctrl+Shift+Enter คอปปี้ไปขวาและลงล่างครับ
Re: สอบถามการใช้สูตร VLOOKUP
Posted: Thu Feb 18, 2016 8:58 am
by kannaree
ขอบคุณทุกคนมากค่ะ จะเก็บเอาความรู้ที่ได้ไปประยุกต์ใช้กับงานอื่นๆต่อไป ^/\^