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

การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#1

Post by jeethada »

รบกวนอาจารย์ เกี่ยวกับ การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว ด้วยครับ

Column A คือ ข้อมูลระดับ สาขา ที่มีทั้ง ภาษาไทย และ อังกฤษ ผสมกัน และเนื่องจากเป็น source ต่างที่มา จึงมี format ที่หลากหลาย
Coumn B คือ ผลลัพธ์ ที่ต้องการให้แสดงเป็นชื่อรูปแบบของ จังหวัด

ข้อสังเกตุ HL เหลือง คือ รายละเอียด ใน Column A มีทั้งการใช้จังหวัดที่ต่อท้าย หรือ ไม่ก็ลงท้าย
ข้อสังเกตุ HL เขียว คือ รายละเอียด ใน Column A แสดงเป็นชื่อระดับ เขต แต่ต้องการ แปลงให้เป็นข้อมูล ระดับ จังหวัด

อยากสอบถามอาจารย์ ว่ามีสูตร "IF ที่สามารถเช็ค wording ได้ทั้ง ประโยค ?
เช่น ถ้าใน A1 มีข้อความ (%อุดร%อุดรธานีฯ%UDORNTANE%UDORNTHANI) ใน B1 ให้เท่ากับ UDORNTHANI เป็นต้น


ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#2

Post by jeethada »

หรือ หากไม่ใช้ IF ควรเป็นวิธีการไหน ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#3

Post by snasui »

:D มีฐานข้อมูลที่ระบุว่าสาขาใดอยู่จังหวัดไหนหรือไม่ครับ :?:

เช่นตามด้านล่าง หากมีให้แนบมาด้วยครับ
You do not have the required permissions to view the files attached to this post.
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#4

Post by jeethada »

ไม่มี ครับ อาจารย์

เพราะจากไฟล์งาน ที่แนบให้ เป็นลักษณะของข้อมูลจาก ที่ได้รับ จาก บริษัทฯ ภายนอก หลาย ๆ บริษัท ก็เลย มาหลากหลาย รูปแบบ
ทั้งนี้ ทางผมเคยแจ้งขอ ให้มีการแยกแยะ ข้อมูล ระดับ จังหวัด มาให้ด้วย ก็จะีมีบางบริษัท ที่มีการจัดเก็บ ระบบ ฐานข้อมูล ดีหน่อย ก็จะมีส่งมาให้ด้วย
แต่... ส่วนใหญ่ที่ส่งมา จะเป็นแบบในไฟล์ที่แนบไป ครับ

ผมเคยลองคิดว่าจะใ้ช้ SUBSTITUE ในการจัดการ ตัดพวก space , special character , เพื่อที่จะได้สามารถ ควบคุม format
ที่หลากหลายนี้ แล้วจัดเก็บ เก็บ DB เพื่อทำ VL สำหรับข้อมูลในครั้งหน้า แต่ก็ไม่รู้ว่าจะถึกไป ?
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#5

Post by snasui »

:D กรณีไม่มีฐานข้อมูลมาเทียบจะลำบากในการที่จะใช้สูตรดึงค่าออกมาให้เป็นจังหวัด ผมคิดเร็ว ๆ พบว่าไม่น่าจะมีสูตรใดที่จะทำเช่นนั้นได้ เพราะมันจะยาวจนเกินข้อจำกัดของสูตร เนื่องจากสูตรมีความยาวได้แค่ 8,192 อักขระ ใน Excel 2007 ขึ้นไป และยาวได้เพียง 1,024 อักขระใน 2003 ลงไป

เมื่อเป็นเช่นนั้น ให้เริ่มทำฐานข้อมูลไว้เองดีกว่าครับ ตามลักษณะที่แนะนำไปแล้วในความเห็นก่อน จากนั้นจึงค่อยใช้สูตรดึงออกมาได้ ส่วนจะดึงออกมาได้แค่ไหนก็แล้วแต่ว่าฐานข้อมูลของเราครอบคลุมแค่ไหนครับ
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#6

Post by jeethada »

ผมเคยลองคิดว่าจะใ้ช้ SUBSTITUE ในการจัดการ ตัดพวก space , special character , เพื่อที่จะได้สามารถ ควบคุม format
ที่หลากหลายนี้ แล้วจัดเก็บ เก็บ DB เพื่อทำ VL สำหรับข้อมูลในครั้งหน้า แต่ก็ไม่รู้ว่าจะถึกไป ?

ขยายความเผื่ออาจารย์ งง คือ จะทำข้อมูลที่ได้รับมาให้เป็น UNIQUE KEY เพื่อ VL ในครั้งหน้า ครับ

ซึ่งหากมีสูตร IF อย่างที่ผมเสนอไป ผมยินดี ที่จะเหนื่อยสุด ๆ ในรอบแรก ๆ เพื่อจัดทำรูปแแบบ อันหลากหลาย
แล้วคอย เพิ่มเติมในส่วนที่เป็น Error record ภายหลัง ... ว่าแต่การใช้ if & if ต่อไป เรื่อย ๆ จะได้ไม่เกินกี่รอบ ? ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#7

Post by snasui »

:D Excel 2007 ขึ้นไปซ้อนได้ 64 ชั้นครับ ส่วน 2003 ลงไปซ้อนได้ 7 ชั้น

ขอบคุณที่ขยายความ เพื่อเพื่อน ๆ จะได้เข้าใจง่ายขึ้น สำหรับผมแล้ว ถ้าไม่เข้าใจผมจะถามเลยครับ :mrgreen:
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#8

Post by jeethada »

:flw: อยาให้ นายผม มาเห็น Post นี้จัง จะได้ทราบว่าผม พยายาม แล้วนะ ;)

ผมคิดเร็ว ๆ พบว่าไม่น่าจะมีสูตรใดที่จะทำเช่นนั้นได้ เพราะมันจะยาวจนเกินข้อจำกัดของสูตร เนื่องจากสูตรมีความยาวได้แค่ 8,192 อักขระ ใน Excel 2007 ขึ้นไป และยาวได้เพียง 1,024 อักขระใน 2003 ลงไป
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#9

Post by snasui »

:D ส่งอีเมลไปให้เจ้านายได้เลยครับ ถ้าต้องการจะแปลงเลยโดยไม่มีข้อมูลมาเทียบ ผมบอกได้เลยว่าไม่ง่ายครับ
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#10

Post by jeethada »

ของผมเป็น excel version 2003 ครับ
รบกวน อาจารย์ ช่วยขึ้นต้นสูตร สูตร IF ไม่เกิน 7 รอบ กับกรณี ด้านล่าง ให้ด้วย ได้ไหมครับ
ผมอาจะ adap กับ RIGHT แล้วลองดู ว่าต้องทำกี่รอบ รบกวน ด้วยครับ

ยากสอบถามอาจารย์ ว่ามีสูตร "IF ที่สามารถเช็ค wording ได้ทั้ง ประโยค ?
เช่น ถ้าใน A1 มีข้อความ (%อุดร%อุดรธานีฯ%UDORNTANE%UDORNTHANI) ใน B1 ให้เท่ากับ UDORNTHANI เป็นต้น
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#11

Post by snasui »

:lol: ตัวอย่างของการใช้ If ด้านล่างครับ

=If(Or(Isnumber(Search("อุดร",A1)),Isnumber(Search("อุดรธานี",A1)),Isnumber(Search("Udornthane",A1)),Isnumber(Search("Udornthani",A1))),"UDORNTHANI","")

Enter แต่ผมคิดว่ากำลังจะเลือกทำในสิ่งที่มันไม่ประหยัดเวลาอยู่นะครับ นี่แค่จังหวัดเดียว ถ้า 76 จังหวัดล่ะครับ :?:
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#12

Post by jeethada »

snasui wrote::lol: ตัวอย่างของการใช้ If ด้านล่างครับ

=If(Or(Isnumber(Search("อุดร",A1)),Isnumber(Search("อุดรธานี",A1)),Isnumber(Search("Udornthane",A1)),Isnumber(Search("Udornthani",A1))),"UDORNTHANI","")

Enter แต่ผมคิดว่ากำลังจะเลือกทำในสิ่งที่มันไม่ประหยัดเวลาอยู่นะครับ นี่แค่จังหวัดเดียว ถ้า 76 จังหวัดล่ะครับ :?:
+1
เหมือนเอา ส้อม ตัก น้ำซุป ... กว่าจะหมด :shock:
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#13

Post by jeethada »

jeethada wrote:
snasui wrote::lol: ตัวอย่างของการใช้ If ด้านล่างครับ

=If(Or(Isnumber(Search("อุดร",A1)),Isnumber(Search("อุดรธานี",A1)),Isnumber(Search("Udornthane",A1)),Isnumber(Search("Udornthani",A1))),"UDORNTHANI","")

Enter แต่ผมคิดว่ากำลังจะเลือกทำในสิ่งที่มันไม่ประหยัดเวลาอยู่นะครับ นี่แค่จังหวัดเดียว ถ้า 76 จังหวัดล่ะครับ :?:
+1
เหมือนเอา ส้อม ตัก น้ำซุป ... กว่าจะหมด :shock:
ขอบคุณนะครับ อาจารย์ ที่เสียสละ เวลา ... อย่างน้อย ก็ยังมี ตรรกะ ไปแย้ง กับนายได้ ว่าข้อมูลแบบนี้ต้องใช้ ระยะเวลา ครับ :D
odd
Member
Member
Posts: 8
Joined: Wed Sep 14, 2011 4:29 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#14

Post by odd »

ใช้ Select Case น่าจะได้ครับ
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#15

Post by jeethada »

odd wrote:ใช้ Select Case น่าจะได้ครับ
ยังไงครับ คุณ odd ฝากขยายความ นิดนึงครับ
odd
Member
Member
Posts: 8
Joined: Wed Sep 14, 2011 4:29 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#16

Post by odd »

ตัวอย่าง : ถ้าใน A1 มีข้อความ (%อุดร%อุดรธานีฯ%UDORNTANE%UDORNTHANI) ใน B1 ให้เท่ากับ UDORNTHANI
ทดลองใช้ VBA
Sub Province()
Select Case Range("a1")
Case Is = "%อุดร%อุดรธานีฯ%UDORNTANE%UDORNTHANI"
Range("B1") = "UDORNTHANI"
End Select
Range("b1").Select
End Sub
แต่คุณแยกข้อมูลแต่ละจังหวัดว่าส่งข้อมูลในลักษณะไหนและให้ส่งข้อมูลลักษณะนั้นตลอดไป เพื่อไม่แก้ไข Code VBA ทุกครั้ง
และ ค้นหาวีธีใช้ Do Until Select Case ใน Google ดูครับ (ผมก็กำลังศึกษาวิธีใช้ :?: )
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#17

Post by jeethada »

odd wrote:ตัวอย่าง : ถ้าใน A1 มีข้อความ (%อุดร%อุดรธานีฯ%UDORNTANE%UDORNTHANI) ใน B1 ให้เท่ากับ UDORNTHANI
ทดลองใช้ VBA
Sub Province()
Select Case Range("a1")
Case Is = "%อุดร%อุดรธานีฯ%UDORNTANE%UDORNTHANI"
Range("B1") = "UDORNTHANI"
End Select
Range("b1").Select
End Sub
แต่คุณแยกข้อมูลแต่ละจังหวัดว่าส่งข้อมูลในลักษณะไหนและให้ส่งข้อมูลลักษณะนั้นตลอดไป เพื่อไม่แก้ไข Code VBA ทุกครั้ง
และ ค้นหาวีธีใช้ Do Until Select Case ใน Google ดูครับ (ผมก็กำลังศึกษาวิธีใช้ :?: )
ขอบคุณครับ จะลองศึกษา ต่อตามที่แจ้งครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#18

Post by snasui »

:lol: ถึงจะหันไปใช้ VBA ก็ไม่ง่ายครับ

ขอขยายความให้เพื่อน ๆ เข้าใจอีกสักนิด จากที่คุณ jeethada ถามมานั้นเป็นการหาในลักษณะนี้ครับ
หากใน A1 มีค่าด้านล่างนี้รวมอยู่ด้วย ให้แสดงผลลัพธ์ที่ B1 เป็นอุดรธานี
  1. อุดร
  2. อุดรธานี
  3. UDORNTHANE
  4. UDORNTHANI
และนี่เป็นแค่จังหวัดเดียว หากหาทั้ง 77 จังหวัดในประเทศไทยคงจะเขียน Case Is กัน 77*4 = 231 บรรทัด :lol:
jeethada
Member
Member
Posts: 16
Joined: Sun Mar 18, 2012 11:15 am

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#19

Post by jeethada »

snasui wrote::lol: ถึงจะหันไปใช้ VBA ก็ไม่ง่ายครับ

ขอขยายความให้เพื่อน ๆ เข้าใจอีกสักนิด จากที่คุณ jeethada ถามมานั้นเป็นการหาในลักษณะนี้ครับ
หากใน A1 มีค่าด้านล่างนี้รวมอยู่ด้วย ให้แสดงผลลัพธ์ที่ B1 เป็นอุดรธานี
  1. อุดร
  2. อุดรธานี
  3. UDORNTHANE
  4. UDORNTHANI
และนี่เป็นแค่จังหวัดเดียว หากหาทั้ง 77 จังหวัดในประเทศไทยคงจะเขียน Case Is กัน 77*4 = 231 บรรทัด :lol:
:flw: :!: :flw: ถ้าเขียนได้วันละ 7 - 8 ตัว ก็ประมาณ เดือนนึง ถ้ายึดตามสมมติฐานของอาจารย์นะ ( มองโลกในแง่ดี ) :)
User avatar
tupthai
Bronze
Bronze
Posts: 302
Joined: Sat Feb 04, 2012 2:49 pm

Re: การจัดการข้่อมูลต่างที่มา ที่ไม่มีรูปแบบตายตัว.XLS

#20

Post by tupthai »

ต้องเพิ่ม case ของแต่ละจังหวัดเองนะครับ
เยอะมาก :tt:
B2=INDEX($D$1:$I$1,MAX(IF(ISNUMBER(SEARCH($D$1:$I$8,A2)),COLUMN($D$1:$I$8)))-3)
Ctrl+Shift+Enter
copy ลงด้านล่าง
You do not have the required permissions to view the files attached to this post.
Post Reply