:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#21

Post by snasui »

:D ลองศึกษาฟังก์ชั่นต่าง ๆ มาก่อน ติดฟังก์ชั่นใดก็ให้ถามมาได้ครับ ฟังก์ชั่นพวกนั้นซับซ้อนมากสำหรับมือใหม่ ต้องค่อยๆ ศึกษาครับ
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#22

Post 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)-->หมายถึงอะไรค่ะ

ขอบคุณค่ะ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

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

#23

Post 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 อักขระครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#24

Post by pao rienthong »

อาจารย์คะ
ถามเรื่องเดิมค่ะ เนื่องจากพอนำสูตรไปใช้ ช่วงตัวเลขมีเลข 0 หลายตัว ทำให้แสดงผลไม่ถูกต้อง
มีตัวอย่างมาให้อาจารย์ดู 2 ปัญหาค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#25

Post 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)),"อยู่ในช่วง","ไม่อยู่ในช่วง")
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#26

Post by pao rienthong »

ขอบคุณอาจารย์มากๆค่ะ
รับทราบ comment ค่ะ
สูครตรวจสอบตัวเลข 1 ชุดข้อมูล ที่อยู่ระหว่างชุดข้อมูล Q0000123-Q0000999 ตามที่อาจารย์แนะนำลองปรับแล้วค่ะ และจะนำไปทดลองใช้
และได้แจกแจงเงื่อนไขความต้องการที่จะตรวจสอบมาให้อาจารย์อีกครั้งค่ะ เผื่ออาจารย์จะมีข้อแนะนำเพิ่มเติมสำหรับคนมือใหม่ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#27

Post by snasui »

:D จากสูตรล่าสุดด้านบนคิดว่าตรงกับความต้องการ ไม่ทราบว่าติดปัญหาใดอีกหรือไม่ครับ
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#28

Post by pao rienthong »

อาจารย์คะ
ลองทดสอบสูตรแล้วโดย ที่ B3 เปลี่ยนเลขช่วงจาก Q0000123-Q0000999 เป็น Q0001234-Q0009999 แล้วที่ E10 ลอง fill เลขที่ไม่ได้
อยู่ในช่วงคือ Q00099 แต่ผลแสดงว่าอยู่ในช่วง ซึ่งไม่ถูกต้องค่ะ ลองส่งตัวอย่างกลับมาอีกครั้งค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#29

Post 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),"อยู่ในช่วง","ไม่อยู่ในช่วง")
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#30

Post by pao rienthong »

อาจารย์คะ
สูตรแสดง error เป็น #VALUE! ตอน copy และวางสูตรค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#31

Post by snasui »

:D แนบไฟล์ที่แสดง Error มาดูกัน จะได้ช่วยดูได้ว่าผิดพลาดตรงไหนครับ
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#32

Post by pao rienthong »

ขอบคุณอาจารย์คะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#33

Post 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),"อยู่ในช่วง","ไม่อยู่ในช่วง"),"ไม่อยู่ในช่วง")
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#34

Post by pao rienthong »

อาจารย์เยี่ยมมากๆค่ะ จะลองทดสอบหลายๆค่าดูอีกทีค่ะ

แต่อาจารย์คะ ขอถามก่อนหลับ +1,255 มันคือค่าอะไรคะ ไม่งั้นนอนไม่หลับค่ะ

ขอบคุณค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#35

Post by snasui »

:D คิดว่าคงจะไม่ได้นอนครับ

ต้องทราบมาก่อนว่าก่อนทีจะ +1 เป็นฟังก์ชั่นใด และฟังก์ชั่นนั้นให้ผลลัพธ์เป็นค่าใด เราก็นำผลลัพธ์นั้นไปบวกอีก 1 ครับ

ส่วน 255 เป็นส่วนประกอบของฟังก์ชั่น MID แปลว่าตัดออกมา 255 อักขระครับ
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#36

Post by pao rienthong »

555 คงไม่ได้นอนจริงๆ ถ้าเผลอหลับคงจะฝันแน่คะ
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#37

Post by pao rienthong »

อาจารย์คะ
ยังคงพบปัญหาเหมือนเดิม ถ้าที่ช่อง B3 เปลี่ยนเลขช่วงค่ะ
ตัวอย่างเลขช่วงที่ fill ช่อง B3
ล็อตผลิตที่ 1 เลขช่วง : Q0000001-Q0009999
ล็อตผลิตที่ 2 เลขช่วง : Q0010000-Q0001234

ถ้า เลขช่วงหน้า กับเลขช่วงหลัง แยกอยู่คนละ column จะอ้างอิงในการเขียนสูตรได้ง่ายขึ้นไหมคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#38

Post by snasui »

:D จากไฟล์ทีแนบมาล่าสุดปัญหาคืออะไรครับ :?:

ปัญหาไม่ได้อยู่ที่การแยกเซลล์หรือไม่แยกเซลล์ จากไฟล์ล่าสุดค่าใน E10 มีค่า 99 ไม่มี Q นำหน้าและไม่ได้เกิดจากการเชื่อมเซลล์เหมือนก่อนหน้านี้ครับ
pao rienthong
Member
Member
Posts: 47
Joined: Tue Apr 01, 2014 9:30 pm

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

#39

Post by pao rienthong »

ขอโทษค่ะอาจารย์ แนบไฟล์ตัวอย่างผิด

หลังจากปรับสูตร ลองเปลี่ยนช่วงตัวเลข เป็น Q0000001-Q0009999 แต่ตัวเลขตรวจสอบที่ E10 ลอง เป็น Q00099 สูตรแสดงว่า "อยู่ในช่วง" ค่าอยู่ในช่วงถูกต้องตามสูตรของอาจารย์ค่ะ แต่ปัญหาคือ ถ้าแสดงตัวเลข Q00099 งานจริงๆ จะถือว่า "ไม่อยู่ในช่วง" เพราะตัวเลขไม่ครบ 7 หลักค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#40

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