Page 2 of 2

Re: ดึงข้อมูลตามเงื่อนไข

Posted: Wed Sep 18, 2013 4:02 pm
by bank9597
parakorn wrote:ลองดูแล้วครับไม่สามารถแก้ไขได้ แต่เบื้องต้นผมลองลบข้อมูลออกสูตรสามารถทำงานได้ปกติครับ
น่าจะเกิดจากปัญหาที่ข้อมูลในรูป อยู่ใน ROW 55810 หรือปล่าวครับ เพราะถ้าลบแล้วให้ขึ้นไปอยู่
ROW3 สูตรสามารถทำงานได้ปกติครับ แล้วเราจะแก้ยังไงดีครับ ข้อมูลปัจจุบันมีถึง ROW 56083 เลยทีเดียวครับ
ผมอยากเห็นไฟล์ครับ หากเป็นข้อมูลปกปิด ลองเอาข้อมูลบางส่วนที่เป็นปัญหามาดูครับ

Re: ดึงข้อมูลตามเงื่อนไข

Posted: Wed Sep 18, 2013 4:42 pm
by parakorn

Re: ดึงข้อมูลตามเงื่อนไข

Posted: Wed Sep 18, 2013 5:39 pm
by bank9597
parakorn wrote:ตามนี้ครับ
http://upload.one2car.com/download.aspx ... P51FETV5E9
:D ต้องทำความเข้าใจอย่างหนึ่งครับว่า สูตร =OFFSET(itemmaster!$B$2,1,0,COUNTA(itemmaster!$B:$B)-1,1) ที่เราใช้ใน rangname นั้น ข้อมูลในชีท itemmaster จะต้องไม่มีช่องว่าง

เช่น มีข้อมูลจาก B2:B20 แต่มีช่องว่างที่เซลล์ B2 สูตรก็จะทำงานผิดพลาดทันทีครับ

เพราะสูตร Counta จะนับข้อมูลทั้งหมดก่อนว่ามีทั้งหมดเท่าไหร่ พอนับมาได้แล้ว มันก็จะกำหนดช่วงตามที่มันนับได้

ดังนั้น หากคุณบันทึกข้อมูลตั้งแต่ B2:B20 แต่ที่ B2 เป็นค่าว่าง สูตรมันจะนับค่าได้ทั้งหมด 19 ค่า มันจะกำหนดพื้นที่ขึ้นมาจาก B2:B19 เท่านั้น ซึ่งอันที่จริงแล้ว มีข้อมูลถึง B20 ต่างหาก

ดังนั้น การทำ RangeName แบบ Auto อย่าลืมจุดนี้ครับ การเก็บข้อมูลแบบ Database ต้องไม่มีช่องว่างในตารางเด็ดขาด ต้องมีค่าเสมอครับ


ผมดูที่ไฟล์แนบ เห็นข้อมูลลงมาอยู่ข้างล่าง โดยด้านบนเว้นว่างไว้ นั่นคือจุดผิดพลาดครับ

แนะนำอีกนิดครับ ไม่ควรใช้สูตร =IFERROR(VLOOKUP($B8,itemmaster!B:D,3,0)," ") โดยการอ้าง B:D ทั้งคอลัมน์ มันจะทำให้การทำงานสูตรช้า
ทางที่ดีหากใช้ Rangename แล้ว ก็ควรทำให้เหมือนกันทั้งหมด เปลี่ยนจากการใช้ Vlookup มาใช้ Index+match แทนครับ

ลองดูตัวอย่างตามไฟล์แนบครับ

Re: ดึงข้อมูลตามเงื่อนไข

Posted: Wed Sep 18, 2013 6:17 pm
by parakorn
แจ๋วเลยครับ พบช่องว่างระหว่างข้อมูลจริงๆครับ
ซึ่งเกิดจากสินค้าที่มีเพียง 1 Step ซึ่งต้อง replace all
เพื่อให้ไม่เกิดช่องว่าง ส่วน index+macth จะลองศึกษาพรุ่งนี้ดูนะครับ
ขอบคุณมากครับ