PDA

View Full Version : การเรียงข้อมูลภาษาไทย



ManopR
10 Jul 2007, 15:35
ผมมีปัญหาเกี่ยวกับการเรียงลำดับข้อมูลภาษาไทยใน Excel ครับ
ที่ office ใช้ MS Excel 97 บนเครื่อง Windows 98 โดยในการทำงานทั่วๆ ไป จะมีการเซ็ต Regional Settings เป็น English ตลอด

ปัญหาที่พบคือ
เมื่อต้องการเรียงข้อมูลตามชื่อ (ภาษาไทย) ปรากฏว่า โปรแกรมจะทำการเรียงโดยใช้หลักการของ ASCII เป็นหลัก คือเรียงข้อมูลตามนี้ครับ
เกตุฉวี
แกนนำ
ไกรสร
เขมจิรา
แขม
ไชโย
กิตติ
กรรชัย

ซึ่งทำให้เวลาไล่ดูข้อมูล จะไล่ดูได้ยากมากครับ

แต่หากเปลี่ยน Regional Setting เป็น Thai โปรแกรมจะสามารถเรียงลำดับตามภาษาไทยได้ถูกต้องทุกอย่างครับ คือเรียงจาก ก ข ค --> ฮ โดยไม่ได้แยกสระเอ, สระแอ, สระไอ ฯลฯ

ดังนั้น ทุกครั้งที่ต้องการพิมพ์ข้อมูลรายงานที่ต้องเรียงลำดับตามชื่อภาษาไทย เจ้าหน้าที่ต้องทำการเปลี่ยน Regional เป็น Thai ก่อน (จำเป็นต้อง Restart เครื่อง)
หลังจากพิมพ์รายงานเสร็จ ก็ต้องเปลี่ยน Regional กลับเป็น English เพื่อทำงานอื่นๆต่อไป (จำเป็นต้อง restart เครื่องอีกรอบ)

ไม่ทราบว่า จะแก้ไขปัญหานี้ได้อย่างไรครับ:confused:

มิตรภาพ
21 Jul 2007, 15:16
สมมติว่าชื่อต่างๆอยู่ในคอลัมน์ A และเริ่มที่ A1
- หาคอลัมน์ว่างๆ หรือแทรกมา 1 คอลัมน์ สมมติผมแทรกเป็นคอลัมน์ B มานะครับ ที่ B1 ผมใส่สูตรดังนี้

=IF(CODE(A1)<207,CODE(A1),CODE(MID(A1,2,1)))

ความหมายก็คือ ผมจะดูว่าอักษรตัวแรกเป็นสระหรือเปล่า เนื่องจากสระจะเริ่มต้นที่ 208 ดังนั้น หากพบว่าอักษรตัวแรกเป็นสระ ก็จะไปดูที่อักษรตัวที่ 2 แทน จากนั้นก็จะให้ค่า Code ของตัวอักษรออกมา

- เมื่อจะจัดเรียง ก็ไม่ต้องเรียงลำดับตามคอลัมน์ A ให้มาเรียงลำดับตามคอลัมน์ B แทน ถือเป็นการจัดเรียง Code ของตัวอักษร ซึ่งตัวอักษรในคอลัมน์ A ก็จะถูกเรียงตามไปโดยปริยายครับ

*** สามารถระบายทุกบรรทัดที่จะใส่สูตร แล้วพิมพ์สูตรเพียงครั้งเดียว จากนั้นก็กด Ctrl+Enter เพื่อใส่สูตรทุกบรรทัดได้ครับ

ในไฟล์แนบ ช่วงสีเหลืองคือช่วงที่จัดเรียงแล้วครับผม