snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
stiib
Member
Posts: 11 Joined: Sat Apr 06, 2019 3:52 pm
#1
Post
by stiib » Sat Apr 06, 2019 4:06 pm
รบกวนสอบถามค่ะ
อยากให้สามารถดึงล็อตนัมเบอร์ในข้อความตัวหนามาใส่ช่อง "Lot No."
โดยที่ค่าในตัวเลขสีแดงสามารถเปลี่ยนเป็นสองตำแหน่งถึงสี่ตำแหน่งได้ค่ะ
ลองใส่ฟังก์ชั่น Mid() แล้ว แต่ตำแหน่งของข้อความไม่ตรงกันเลยดึงข้อความได้ไม่ครบหรือเกินมา
No. Scan Input
1 E: 0128858939601241172403313050 1019D01X1
2 E: 01288589396012411724033130100 1019D01X1
มีตัวอย่างในไฟล์แนบค่ะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Sat Apr 06, 2019 4:23 pm
ตัวอย่างสูตรครับ
เซลล์ E5 คีย์
=RIGHT(D6,7)
Enter > Copy ไปยังเซลล์ E7
ส่วนคำตอบตามที่แสดงเป็นตัวอย่างในไฟล์แนบสามารถใช้สูตรด้านล่างครับ
=RIGHT(D6,LEN(D6)-30)
สูตรแรกตัดมา 7 ตัวเสมอตามที่ระบายสีน้ำเงิน สูตรที่สองจะตัดมาตามความยาวของค่าในเซลล์ หักออกด้วย 30 อักขระ ยิ่งยาวก็จะตัดมามากอักขระขึ้น เพื่อให้ได้คำตอบดังตัวอย่างที่ระบายสีดำไว้ในโพสต์ #1
ควรมีเงื่อนไขให้ชัดว่าการตัดมีเงื่อนไขใด กี่เงื่อนไข จะได้เข้าใจตรงกันครับ
stiib
Member
Posts: 11 Joined: Sat Apr 06, 2019 3:52 pm
#3
Post
by stiib » Sat Apr 06, 2019 4:33 pm
ทำได้แล้วค่ะ ขอบคุณมากค่ะ
stiib
Member
Posts: 11 Joined: Sat Apr 06, 2019 3:52 pm
#4
Post
by stiib » Thu Apr 11, 2019 8:02 am
สอบถามเพิ่มเติมค่ะ
No. Scan Input
1 E: 01288589396012411724033130501019D01X1
2 E: 012885893960124117240331301001019D01
ในกรณีนี้ลองใช้
E7 =RIGHT(D8,7)
ผลลัพธ์ในหัวข้อที่ 2 แสดงเป็น 1019D01
แต่ต้องการให้ผลลัพธ์ของหัวข้อที่สองแสดงแค่ 19D01
ต้องใส่สูตรอย่างไรคะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#5
Post
by snasui » Thu Apr 11, 2019 8:15 am
ตัวอย่างสูตรครับ
=RIGHT(D6,5)
ผมคิดว่าการถามตอบลักษณะนี้จะไม่สิ้นสุดได้ในระยะเวลาอันสั้น สามารถถามตอบกันได้เป็น 100 โพสต์ครับ
ควรจะอธิบายหลักการว่าเหตุใดนำมา 7 ตัว เหตุใดต้องนำมา 5 ตัว เช่นต้องหาค่าใด มีเงื่อนไขใดที่ต้องการตัดมาเท่านั้นเท่านี้ ฯลฯ โดยยกตัวอย่างในไฟล์แนบให้ครอบคลุมทุกลักษณะที่เป็นไปได้ ไม่ใช่ถามมาสั้น ๆ แบบนี้ครับ
stiib
Member
Posts: 11 Joined: Sat Apr 06, 2019 3:52 pm
#6
Post
by stiib » Thu Apr 11, 2019 4:59 pm
1. อยากให้สามารถดึงล็อตนัมเบอร์ในข้อความสีน้ำเงินมาใส่ช่อง "Lot No." โดยที่ค่าในตัวเลขสีน้ำเงิน จะมีตั้งแต่ 5-7 ตัวอักษร
เนื่องจากค่าที่สแกนลงไป Lot No. สามารถมีได้ทั้ง 5 หรือ 7 ตัวอักษรเปลี่ยนแปลงไปตามข้อมูลที่เรา Input เข้าไป
2. ข้อมูลหน้าล็อตนัมเบอร์ในคอลัมน์ Scan Input จะมีตัวเลข 10 นำหน้าเสมอ และด้านหน้าของตัวเลข 10 จะมี Q'ty เปลี่ยนไปเสมอ ตั้งแต่ 50-1000
ลองใช้ฟังก์ชั่น Right() , Mid() , Len() ก็ยังไม่สามารถทำได้
รบกวนสอบถามผู้รู้ค่ะ
ขอบคุณมากค่ะ
You do not have the required permissions to view the files attached to this post.
Supachok
Gold
Posts: 1014 Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013
#7
Post
by Supachok » Thu Apr 11, 2019 5:06 pm
E5
=MID(D6,FIND("D",D6)-2,255)
Copy down
ดูว่าใช่หรือไม่
Supachok
Gold
Posts: 1014 Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013
#8
Post
by Supachok » Thu Apr 11, 2019 5:07 pm
2. ข้อมูลหน้าล็อตนัมเบอร์ในคอลัมน์ Scan Input จะมีตัวเลข 10 นำหน้าเสมอ และด้านหน้าของตัวเลข 10 จะมี Q'ty เปลี่ยนไปเสมอ ตั้งแต่ 50-1000
ไม่เห็นข้อมูลอ้างอิง
stiib
Member
Posts: 11 Joined: Sat Apr 06, 2019 3:52 pm
#9
Post
by stiib » Thu Apr 11, 2019 5:21 pm
ข้อมูลอ้างอิงตามเอกสารแนบค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#10
Post
by snasui » Thu Apr 11, 2019 6:50 pm
ตัวอย่างสูตรครับ
เซลล์ E5 คีย์
=TRIM(RIGHT(SUBSTITUTE(D6,10,REPT(" ",20)),20))
Enter > Copy ไปด้านล่าง
Bo_ry
Gold
Posts: 1245 Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:
#11
Post
by Bo_ry » Fri Apr 12, 2019 12:51 am
อีกแบบ
E5
=SUBSTITUTE(RIGHT(D6,7),10,)
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#12
Post
by puriwutpokin » Fri Apr 12, 2019 8:56 am
อีกตัวอย่างครับ
ที่ E5=MID(D6,FIND("19",D6),10)