Page 1 of 1

ดึงข้อมูลที่ data มาใส่ในฟอร์มโดยใช้สูตร

Posted: Fri Nov 18, 2016 10:06 am
by winnie
ต้องการให้ข้อมูลมาโชว์ในฟอร์มที่กำหนดให้ค่ะ โดยคีย์เลขที่ช่องสีเหลืองแล้วให้ข้อมูลที่ชีท data มาโชว์ ส่วนราคาให้มองที่ รายละเอียดที่ใช้ แล้วให้ราคาที่ชีท data อุปกรณ์ขึ้นมาค่ะ ลองทำสูตร Vlookup แล้วค่ะรายละเอียดต่างๆ เช่นวันที่ สถานที่ เวลา ขึ้นหมด แต่ติดปัญหาตรง รายละเอียดอุปกรณ์ค่ะถ้าใช้ vlookup มันจะมองแค่รายการเดียวซึ่งในจ๊อบตัวอย่างมีการใช้อุปกรณ์หลายตัวค่ะ

Re: ดึงข้อมูลที่ data มาใส่ในฟอร์มโดยใช้สูตร

Posted: Fri Nov 18, 2016 1:02 pm
by DhitiBank
ไม่ทราบว่าในชีท DATA สามารถใส่เลข JOB ทุกแถวได้ไหมครับ หากได้ สูตรจะง่ายขึ้นมากเลยครับ

Re: ดึงข้อมูลที่ data มาใส่ในฟอร์มโดยใช้สูตร

Posted: Fri Nov 18, 2016 1:18 pm
by DhitiBank
ลองแบบนี้ครับ

1. ลากคลุม B12:B25 ยกเลิกการผสานเซลล์

2. B12 คีย์
=IFERROR(INDEX('DATA '!$O$3:$O$200,SMALL(IF(MATCH($Z$2,'DATA '!$B$1:$B$200,0)<=ROW('DATA '!$A$3:$A$200),IF(MATCH(INDEX('DATA '!$A$3:$A$200,MATCH($Z$2,'DATA '!$B$3:$B$200,0))+1,'DATA '!$A$1:$A$200,0)>=ROW('DATA '!$A$3:$A$200),ROW('DATA '!$A$3:$A$200)-ROW('DATA '!$A$3)+1)),ROWS(B$12:B12))),"")

กด Ctrl+Shift ค้าง แล้ว Enter >> คัดลอกลงล่างครับ

แต่สูตรนี้น่าจะมีปัญหากับ Job ที่อยู่ล่างสุดในชีท DATA ไว้มาปรับให้อีกทีนะครับ

Re: ดึงข้อมูลที่ data มาใส่ในฟอร์มโดยใช้สูตร

Posted: Fri Nov 18, 2016 3:30 pm
by winnie
ลองเอามาใส่แล้วค่ะแต่ยังขึ้นแค่รายการเดียวอยู่ค่ะรบกวนด้วยนะค่ะ

Re: ดึงข้อมูลที่ data มาใส่ในฟอร์มโดยใช้สูตร

Posted: Fri Nov 18, 2016 4:53 pm
by DhitiBank
ลองแนบไฟล์ที่ได้เอาสูตรไปใส่แต่ไม่ขึ้นคำตอบที่ต้องการมาดูกันครับ

แต่หากเดาไม่ผิด คุณ winnie อาจกดรับสูตรผิด พอคัดลอกสูตรไปวางที่ formula bar แล้ว ไม่ใช่กดแค่ Enter นะครับ ลองกดตามที่บอกใหม่อีกครั้ง

////////////////แก้ไข\\\\\\\\\\\\\\\\\\\\\\\\\\
เอาสูตรใหม่ครับ ยกเลิกการผสานเซลล์ใน B12:B25

B12
=IFERROR(INDEX('DATA '!$O$3:$O$200,SMALL(IF(MATCH($Z$2,'DATA '!$B$1:$B$200,0)<=ROW('DATA '!$A$3:$A$200),IF(IFERROR(MATCH(INDEX('DATA '!$A$3:$A$200,MATCH($Z$2,'DATA '!$B$3:$B$200,0))+1,'DATA '!$A$1:$A$200,0),LOOKUP(CHAR(255),'DATA '!N:N,ROW('DATA '!N:N)))>=ROW('DATA '!$A$3:$A$200),ROW('DATA '!$A$3:$A$200)-ROW('DATA '!$A$3)+1)),ROWS(B$12:B12))),"")

Ctrl+Shift+Enter >> คัดลอกลงล่าง
2016-11-18 16_58_54-Microsoft Excel - ฟอร์ม.xlsx.png
หากกดถูกจะเห็นเครื่องหมายปีกกาขึ้นมาคร่อมสูตรโดยอัตโนมัติครับ