Page 2 of 3

Re: ตรวจสอบตัวเลยช่วงข้อมูล

Posted: Mon Jun 09, 2014 10:18 pm
by snasui
:D ลองศึกษาฟังก์ชั่นต่าง ๆ มาก่อน ติดฟังก์ชั่นใดก็ให้ถามมาได้ครับ ฟังก์ชั่นพวกนั้นซับซ้อนมากสำหรับมือใหม่ ต้องค่อยๆ ศึกษาครับ

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
:D คำอธิบายปัญหาควรเขียนไว้ในกระทู้พอสังเขปด้วยเสมอครับ

สำหรับการคีย์แล้วไม่แสดงผลเป็นเลข 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
:D จากสูตรล่าสุดด้านบนคิดว่าตรงกับความต้องการ ไม่ทราบว่าติดปัญหาใดอีกหรือไม่ครับ

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
:D ลองปรับสูตรเป็นตามด้านล่างครับ

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
:D แนบไฟล์ที่แสดง Error มาดูกัน จะได้ช่วยดูได้ว่าผิดพลาดตรงไหนครับ

Re: ตรวจสอบตัวเลยช่วงข้อมูล

Posted: Fri Jun 13, 2014 10:59 pm
by pao rienthong
ขอบคุณอาจารย์คะ

Re: ตรวจสอบตัวเลยช่วงข้อมูล

Posted: Fri Jun 13, 2014 11:14 pm
by snasui
:D เนือ่งจาก 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
:D คิดว่าคงจะไม่ได้นอนครับ

ต้องทราบมาก่อนว่าก่อนทีจะ +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
:D จากไฟล์ทีแนบมาล่าสุดปัญหาคืออะไรครับ :?:

ปัญหาไม่ได้อยู่ที่การแยกเซลล์หรือไม่แยกเซลล์ จากไฟล์ล่าสุดค่าใน 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
:D ตัวอย่างการปรับสูตรเพื่อนับจำนวนหลัก หากไม่เท่ากันให้แสดงว่าไม่อยู่ในช่วงครับ

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),"อยู่ในช่วง","ไม่อยู่ในช่วง")),"ไม่อยู่ในช่วง")