Page 2 of 3
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Mon Jun 09, 2014 10:18 pm
by snasui

ลองศึกษาฟังก์ชั่นต่าง ๆ มาก่อน ติดฟังก์ชั่นใดก็ให้ถามมาได้ครับ ฟังก์ชั่นพวกนั้นซับซ้อนมากสำหรับมือใหม่ ต้องค่อยๆ ศึกษาครับ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Tue Jun 10, 2014 7:56 pm
by pao rienthong
อาจารย์คะ
อยากถามเพิ่มเติมคะ ตามสูตรของอาจารย์
=IF(ISNUMBER(MATCH(E14,INDEX(LEFT($E$9,3)&ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE($B$7,LEFT($E$9,3),""),"-",":"))),0),0)),"อยู่ในช่วง","ไม่อยู่ในช่วง")
(LEFT($E$9,3)-->หมายถึงอะไรค่ะ
ขอบคุณค่ะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Tue Jun 10, 2014 8:35 pm
by bank9597
pao rienthong wrote:อาจารย์คะ
อยากถามเพิ่มเติมคะ ตามสูตรของอาจารย์
=IF(ISNUMBER(MATCH(E14,INDEX(LEFT($E$9,3)&ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE($B$7,LEFT($E$9,3),""),"-",":"))),0),0)),"อยู่ในช่วง","ไม่อยู่ในช่วง")
(LEFT($E$9,3)-->หมายถึงอะไรค่ะ
ขอบคุณค่ะ
ดึงตัวอักษรจากข้อความใน E9 จากทางซ้ายมือมา 3 อักขระครับ
Re: ตรวจสอบตัวเลขช่วงข้อมูล
Posted: Wed Jun 11, 2014 9:02 pm
by pao rienthong
อาจารย์คะ
ถามเรื่องเดิมค่ะ เนื่องจากพอนำสูตรไปใช้ ช่วงตัวเลขมีเลข 0 หลายตัว ทำให้แสดงผลไม่ถูกต้อง
มีตัวอย่างมาให้อาจารย์ดู 2 ปัญหาค่ะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Wed Jun 11, 2014 9:34 pm
by snasui

คำอธิบายปัญหาควรเขียนไว้ในกระทู้พอสังเขปด้วยเสมอครับ
สำหรับการคีย์แล้วไม่แสดงผลเป็นเลข 0 นำหน้า ให้จัด Format เซลล์นั้นเป็น Text
ส่วนสูตรใน G10 ของชีท ปัญหา 1 ลองปรับเป็นด้านล่างครับ
=IF(AND(E10>=LEFT($B$3,FIND("-",$B$3)-1),E10<=MID($B$3,FIND("-",$B$3)+1,255)),"อยู่ในช่วง","ไม่อยู่ในช่วง")
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Thu Jun 12, 2014 8:09 pm
by pao rienthong
ขอบคุณอาจารย์มากๆค่ะ
รับทราบ comment ค่ะ
สูครตรวจสอบตัวเลข 1 ชุดข้อมูล ที่อยู่ระหว่างชุดข้อมูล Q0000123-Q0000999 ตามที่อาจารย์แนะนำลองปรับแล้วค่ะ และจะนำไปทดลองใช้
และได้แจกแจงเงื่อนไขความต้องการที่จะตรวจสอบมาให้อาจารย์อีกครั้งค่ะ เผื่ออาจารย์จะมีข้อแนะนำเพิ่มเติมสำหรับคนมือใหม่ค่ะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 7:18 am
by snasui

จากสูตรล่าสุดด้านบนคิดว่าตรงกับความต้องการ ไม่ทราบว่าติดปัญหาใดอีกหรือไม่ครับ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 9:39 pm
by pao rienthong
อาจารย์คะ
ลองทดสอบสูตรแล้วโดย ที่ B3 เปลี่ยนเลขช่วงจาก Q0000123-Q0000999 เป็น Q0001234-Q0009999 แล้วที่ E10 ลอง fill เลขที่ไม่ได้
อยู่ในช่วงคือ Q00099 แต่ผลแสดงว่าอยู่ในช่วง ซึ่งไม่ถูกต้องค่ะ ลองส่งตัวอย่างกลับมาอีกครั้งค่ะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 10:06 pm
by snasui

ลองปรับสูตรเป็นตามด้านล่างครับ
Code: Select all
=IF(AND(SUBSTITUTE(E10,$E$5,"")+0>=SUBSTITUTE(LEFT($B$3,FIND("-",$B$3)-1),$E$5,"")+0,SUBSTITUTE(E10,$E$5,"")+0<=SUBSTITUTE(MID($B$3,FIND("-",$B$3)+1,255),$E$5,"")+0),"อยู่ในช่วง","ไม่อยู่ในช่วง")
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 10:52 pm
by pao rienthong
อาจารย์คะ
สูตรแสดง error เป็น #VALUE! ตอน copy และวางสูตรค่ะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 10:55 pm
by snasui

แนบไฟล์ที่แสดง Error มาดูกัน จะได้ช่วยดูได้ว่าผิดพลาดตรงไหนครับ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 10:59 pm
by pao rienthong
ขอบคุณอาจารย์คะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 11:14 pm
by snasui

เนือ่งจาก E5 มี 0 จำนวน 4 ตัว ในขณะที่ B3 มี 0 แค่ 3 ตัวจึงเกิด Error
หากต้องการแปลงค่า Error ให้เป็น "ไม่อยู่ในช่วง" สามารถปรับสูตรเดิมเป็น
Code: Select all
=IFERROR(IF(AND(SUBSTITUTE(E10,$E$5,"")+0>=SUBSTITUTE(LEFT($B$3,FIND("-",$B$3)-1),$E$5,"")+0,SUBSTITUTE(E10,$E$5,"")+0<=SUBSTITUTE(MID($B$3,FIND("-",$B$3)+1,255),$E$5,"")+0),"อยู่ในช่วง","ไม่อยู่ในช่วง"),"ไม่อยู่ในช่วง")
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 11:22 pm
by pao rienthong
อาจารย์เยี่ยมมากๆค่ะ จะลองทดสอบหลายๆค่าดูอีกทีค่ะ
แต่อาจารย์คะ ขอถามก่อนหลับ +1,255 มันคือค่าอะไรคะ ไม่งั้นนอนไม่หลับค่ะ
ขอบคุณค่ะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 11:29 pm
by snasui

คิดว่าคงจะไม่ได้นอนครับ
ต้องทราบมาก่อนว่าก่อนทีจะ +1 เป็นฟังก์ชั่นใด และฟังก์ชั่นนั้นให้ผลลัพธ์เป็นค่าใด เราก็นำผลลัพธ์นั้นไปบวกอีก 1 ครับ
ส่วน 255 เป็นส่วนประกอบของฟังก์ชั่น MID แปลว่าตัดออกมา 255 อักขระครับ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Fri Jun 13, 2014 11:37 pm
by pao rienthong
555 คงไม่ได้นอนจริงๆ ถ้าเผลอหลับคงจะฝันแน่คะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Sat Jun 14, 2014 6:35 pm
by pao rienthong
อาจารย์คะ
ยังคงพบปัญหาเหมือนเดิม ถ้าที่ช่อง B3 เปลี่ยนเลขช่วงค่ะ
ตัวอย่างเลขช่วงที่ fill ช่อง B3
ล็อตผลิตที่ 1 เลขช่วง : Q0000001-Q0009999
ล็อตผลิตที่ 2 เลขช่วง : Q0010000-Q0001234
ถ้า เลขช่วงหน้า กับเลขช่วงหลัง แยกอยู่คนละ column จะอ้างอิงในการเขียนสูตรได้ง่ายขึ้นไหมคะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Sat Jun 14, 2014 8:54 pm
by snasui

จากไฟล์ทีแนบมาล่าสุดปัญหาคืออะไรครับ
ปัญหาไม่ได้อยู่ที่การแยกเซลล์หรือไม่แยกเซลล์ จากไฟล์ล่าสุดค่าใน E10 มีค่า 99 ไม่มี Q นำหน้าและไม่ได้เกิดจากการเชื่อมเซลล์เหมือนก่อนหน้านี้ครับ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Sat Jun 14, 2014 9:54 pm
by pao rienthong
ขอโทษค่ะอาจารย์ แนบไฟล์ตัวอย่างผิด
หลังจากปรับสูตร ลองเปลี่ยนช่วงตัวเลข เป็น Q0000001-Q0009999 แต่ตัวเลขตรวจสอบที่ E10 ลอง เป็น Q00099 สูตรแสดงว่า "อยู่ในช่วง" ค่าอยู่ในช่วงถูกต้องตามสูตรของอาจารย์ค่ะ แต่ปัญหาคือ ถ้าแสดงตัวเลข Q00099 งานจริงๆ จะถือว่า "ไม่อยู่ในช่วง" เพราะตัวเลขไม่ครบ 7 หลักค่ะ
Re: ตรวจสอบตัวเลยช่วงข้อมูล
Posted: Sat Jun 14, 2014 11:03 pm
by snasui

ตัวอย่างการปรับสูตรเพื่อนับจำนวนหลัก หากไม่เท่ากันให้แสดงว่าไม่อยู่ในช่วงครับ
Code: Select all
=IFERROR(IF(LEN(E10)<>LEN(LEFT($B$3,FIND("-",$B$3)-1)),"ไม่อยู่ในช่วง",IF(AND(SUBSTITUTE(E10,$E$5,"")+0>=SUBSTITUTE(LEFT($B$3,FIND("-",$B$3)-1),$E$5,"")+0,SUBSTITUTE(E10,$E$5,"")+0<=SUBSTITUTE(MID($B$3,FIND("-",$B$3)+1,255),$E$5,"")+0),"อยู่ในช่วง","ไม่อยู่ในช่วง")),"ไม่อยู่ในช่วง")