Page 1 of 2
ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Tue Jun 13, 2017 8:30 pm
by ajsudkedt
ตามภาพครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Tue Jun 13, 2017 8:54 pm
by snasui

กรุณาอธิบายด้วยข้อความลงในฟอรัมพอสังเขปแม้จะอธิบายไว้ในไฟล์แนบหรือในภาพแล้วก็ตาม ระบบค้นหาไม่สามารถเข้าถึง Content ในไฟล์หรือในภาพได้ ขาดความสะดวกในการเข้าถึงข้อมูลของเพื่อนสมาชิกที่ใช้การ Search ครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Wed Jun 14, 2017 10:01 am
by ajsudkedt
ในชีต OUTPUT-1 ต้องการแสดงค่ารวมจากชีต Database ของแต่ละเดือนครับ
ในชีต OUTPUT-2 ต้องการให้แสดงประเภทคะแนนในชีต point_code โดยอ้างอิงจากเลขรหัสของชีต "Database" ของแต่ละเดือน ครับ
ดั่งไฟล์แนบครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Wed Jun 14, 2017 11:59 am
by parakorn
ก่อนอื่นเปิดใช้งาน Macro ก่อนครับ แล้วใช้ Macro4.0 เพื่อดึงโค้ดสีพื้นหลัง Database ออกมา
จะได้แยกตาราง Input และ Output โดยการไปที่
แทบ Formula > DefineName > Name Manager > New > ตั้งชื่อว่า Color > แถบ Refers to ใส่สูตร =GET.CELL(63,Database!F5) ติ๊กถูกและปิดหน้าต่าง
Sheet Database
F4 พิมพ์ =Color แล้ว Enter Copy ไปทางขวาจนสุด ตาราง Input จะได้ผลลัพท์ 0 /ตาราง Output(พื้นหลังสีเหลืองจะได้ผลลัพท์ 6)
F3 พิมพ์ =MONTH(F5) แล้ว Enter Copy ไปทางขวาจนสุด
ปรับสูตรในตาราง Output S6 =IFERROR(VLOOKUP(F6,point_code!$A$1:$C$31,3),0) Enter+ Copy ไปวางในตาราง Output ทั้งหมด
ที่ Sheet Output-1 ใส่เลขอ้างอิงเดือน F9 ถึง J9 พิมพ์ เลข 5 ถึง 9(อ้างอิงเดือน)
ใส่สูตรสรุป ที่ F4 =SUMIFS(OFFSET(Database!$F$5,MATCH($B4,Database!$B$6:$B$10,0),,,COUNTA(Database!$F$5:$GM$5)),Database!$F$4:$GM$4,6,Database!$F$3:$GM$3,'OUTPUT-1'!F$9) Enter+Copy ไปถึง J8
ที่ Sheet Output-2
ที่ F4 =VLOOKUP(INDEX(OFFSET(Database!$F$5,MATCH($B4,Database!$B$6:$B$10,0),,,COUNTA(Database!$F$5:$GM$5)),,MATCH(F$3,Database!$F$5:$GM$5,0)-1+MATCH(0,Database!$F$4:$GM$4,0)),CHOOSE({1,2},point_code!$A:$A,point_code!$B:$B),2,0)
Enter+Copy ไปถึง CV5
ลองตรวจสอบผลลัพท์ดูว่าตรงตามที่ต้องการหรือไม่ ติดขัดตรงไหนค่อยๆถามกันไปครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Wed Jun 14, 2017 12:07 pm
by parakorn
ที่ Sheet Output-2
สามารถปรับสูตร(เพื่อลดการทำงานของสูตรให้ไวขึ้น) F4 เป็น =VLOOKUP(INDEX(OFFSET(Database!$F$5,MATCH($B4,Database!$B$6:$B$10,0),,,COUNTA(Database!$F$5:$GM$5)),,MATCH(BR$3,Database!$F$5:$GM$5,0)-1+MATCH(0,Database!$F$4:$GM$4,0)),point_code!$A:$B,2,0)
(ตัดสูตร Choose เพื่อลดภาระการทำงาน เนื่องจากตอนแรกผมไปใช้ Result ของ Sheet point_code ในการอ้างอิงครับ)
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 4:51 am
by ajsudkedt
ผมพยายามทำตามที่แนะแล้วครับ
ติดบรรทัดนี้ครับ
"ปรับสูตรในตาราง Output S6 =IFERROR(VLOOKUP(F6,point_code!$A$1:$C$31,3),0) Enter+ Copy ไปวางในตาราง Output ทั้งหมด"
Output S6 คือตรงไหนครับ
ตอนนี้ที่ชีต OUTPUT-2 ได้ผลดั่งที่ต้องการแล้วครับ
เหลือแต่ที่ชีต OUTPUT-1 ที่ค่ารวมยังไม่แสดงครับ
ตามไฟล์ที่แนบครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:23 am
by parakorn
Output S6 ในที่นี้หมายถึง
Cell S6 ใน Sheet Database ครับ
Output หมายถึง ตารางที่แสดงผลลัพท์
ซึ่งรวมถึง ตารางทั้งหมดในชีท Database ที่คุณ ajsudkedt "ใส่สีเหลือง" ไว้บนหัวข้อครับ
ให้ Copy สูตรจาก S6 ไปวางทั้งหมดครับ
จากไฟล์ที่แนบมามีจุดที่ต้องปรับใหม่ดังนี้ครับ
Sheet Database คลิ๊กเลือก F4 > Name Manager > Color > ปรับสูตรเป็น =GET.CELL(63,Database!F5)
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 10:54 am
by ajsudkedt
กราบขอบพระคุณท่าน "parakrn" เป็ยอย่างยิ่งครับ
ได้รับความกรุณาจากท่านเรื่อยมาตลอดเลย
ทำตามที่ท่านแนะ ได้ผลดั่งที่ต้องการเลยครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 10:59 am
by parakorn
ยินดีครับผม

Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 7:32 pm
by ajsudkedt
ที่ Sheet Output-2
สามารถปรับสูตร(เพื่อลดการทำงานของสูตรให้ไวขึ้น) F4 เป็น =VLOOKUP(INDEX(OFFSET(Database!$F$5,MATCH($B4,Database!$B$6:$B$10,0),,,COUNTA(Database!$F$5:$GM$5)),,MATCH(BR$3,Database!$F$5:$GM$5,0)-1+MATCH(0,Database!$F$4:$GM$4,0)),point_code!$A:$B,2,0)
(ตัดสูตร Choose เพื่อลดภาระการทำงาน เนื่องจากตอนแรกผมไปใช้ Result ของ Sheet point_code ในการอ้างอิงครับ)
ใส่สูตรแล้ว ไม่แสดงผลครับ
แต่ใส่สูตร
ที่ Sheet Output-2
ที่ F4 =VLOOKUP(INDEX(OFFSET(Database!$F$5,MATCH($B4,Database!$B$6:$B$10,0),,,COUNTA(Database!$F$5:$GM$5)),,MATCH(F$3,Database!$F$5:$GM$5,0)-1+MATCH(0,Database!$F$4:$GM$4,0)),CHOOSE({1,2},point_code!$A:$A,point_code!$B:$B),2,0)
Enter+Copy ไปถึง CV5
แสดงผลปกติครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 8:04 pm
by snasui

รอนานแล้วได้คำตอบหรือไม่ครับ หากไม่จะถือว่าเป็นสาระสำคัญที่จะต้องปรับสุตรใหม่ แต่หากได้คำตอบและไม่นานจนเกินไป ก็ไม่จำเป็นต้องปรับสูตรครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 8:24 pm
by ajsudkedt
ณ เพลานี้ กำลังประมวลผลอยู่ครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 8:51 pm
by snasui

รวมเวลาประมวลผลมาแล้วนานเท่าใดครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:31 pm
by ajsudkedt
สรุป ปัญหาตอนนี้ที่เจอคือ
กรอกรหัสตัวเลขในชีต Database แล้ว
ประมวลผลช้ามาก เลยครับ
ซึ่งหากนำไปใช้งานจริง
คุณครูฝ่ายปกครองคงบ่นแน่เลยครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:41 pm
by snasui

กรุณาตอบที่ผมถามว่านานเท่าใดครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:44 pm
by ajsudkedt
นานประมาณ 5-7 นาทีได้ครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:45 pm
by snasui

การใช้ Vlookup ย่อมคำนวณช้า แค่ 5-7 นาทีถือว่าปกติกับข้อมูลจำนวนมากครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:47 pm
by ajsudkedt
เหตุเพราะมีนักเรียน 2455 คนไหมครับ ไฟล์เลยมีขนาดใหม่มาก
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:47 pm
by ajsudkedt
พอจะมีทางแก้ไหมครับ
Re: ขอสูตรรวมค่าที่เกิดจาก VLOOKUP ครับ
Posted: Thu Jun 15, 2017 9:49 pm
by snasui

ไม่ต้องแก้ครับ ทำไมจึงคิดว่าต้องแก้ครับ
