Pantip.com Pantip-TechExchange | Pantip-Cafe | PantipMarket.com | Chat | PanTown.com | BlogGang.com| Torakhong.org| GameRoom
 






\\ แยกข้อความใน Excel ภาษา Eng และ Thai ออกจากกัน **

อยากทราบวิธีหรือสูตรที่สามารถแยกข้อความใน Excel ครับ เช่น A1 เท่ากับ ก๊าซธรรมชาติNatural Gas

อยากให้แยกเป็น B1= Natural Gas และ C1= ก๊าซธรรมชาติ จะทำได้หรือไม่ครับ


จากคุณ : App -[ 17 ม.ค. 50 - 21:12:31 A:222.123.152.45 X: ]



*** Advertisement ***


ความคิดเห็นที่ 1

ลองตามนี้ครับ

B1 คีย์

=LOOKUP("z",MID(A1,MIN(SEARCH(CHAR(ROW(INDIRECT("65:90"))),A1&"abcdefghijklmnopqrstuvwxyz")),ROW(INDIRECT("1:"&LEN(A1)))))

แล้ว Ctrl+Shift+Enter

C1 คีย์

=SUBSTITUTE(A1,B1,"")

แล้ว Enter


จากคุณ : คนควน - [ 17 ม.ค. 50 22:40:28 ]
 
 

ความคิดเห็นที่ 2

สุดยอดเลยครับ!!! คิดได้ไงเนี่ยะ

ทำให้งานผมเสร็จในพริบตา ไม่ต้องคอยมานั่งวรรคเอง

ขอบคุณมากๆ เลยครับ คุณคนควน


จากคุณ : App - [ 17 ม.ค. 50 23:25:13 A:222.123.152.45 X: ]
 
 

ความคิดเห็นที่ 3

ขอเพิ่มเติมครับ
ในกรณีที่ ข้อความมีทั้งไทยและอังกฤษสลับกันไปมาครับต้องใส่สูตรยังไง เช่น "ตัวอย่างสูตรแยกข้อความระหว่าง English และไทย"


จากคุณ : เพิ่มเติมครับ - [ 18 ม.ค. 50 07:59:28 A:124.120.97.239 X: ]
 
 

ความคิดเห็นที่ 4

ผมลองเอาสูตรตามข้างบนไปทำแล้วผลปรากฎเป็นอย่างนี้ครับ
1. จะมีการแยกข้อความก็ต่อเมื่อพบตัวอักษร "A" เท่านั้น
2. ถ้ดจากตัวอักษร "A" เป็นต้นไป จะไม่มีการแยกข้อความอีกไม่ว่าจะเป็นข้อความภาษาไทยหรืออังกฤษ
3. ขอคำอธิบายสูตร Indirect("65:90") ครับ ผมลองแยกออกมาเฉพาะสูตร Indirect แล้วผลที่ได้คือ #Value! แต่ถ้าลองใช้สูตร CHAR(ROW(INDIRECT("65:90")))แล้ว ผลที่ได้คือ A ผมลองเปลี่ยนค่าเป็น "66:90" ผลที่ได้คือ B และ "90:90" ผลที่ได้คือ Z เพราะฉนั้นตัวเลข 65:90 เป็นการหาค่าตัวอักษรที่จะใช้เป็นตัวเริ่มต้นในกานตัดคำหรือไม่ครับ

รบกวนช่วยอธิบายด้วยครับ ขอบคุณครับ


จากคุณ : เพิ่มเติมอีกครั้งครับ - [ 18 ม.ค. 50 12:03:35 A:124.120.99.181 X: ]
 
 

ความคิดเห็นที่ 5

ตอบ คคห. 3,4

คุณต้อง Ctrl+Shift+Enter ครับ Enter อย่างเดียวไม่ได้ครับ เนืองจากเป็นสูตรแบบ Array

=CHAR(ROW(INDIRECT("65:90"))) เป็นสูตรที่ต้องการให้คืนค่า A-Z ครับ

สูตรข้างบนค่อนข้างซับซ้อนเป็น Mega Formula แถมเป็นสูตร Array ด้วย เบื้องต้นต้องเข้าใจสูตรแต่ละตัวก่อนว่าคืนค่าเป็นอะไร และต้องเข้าใจสูตร Array ว่าทำงานอย่างไร

ขอแนะนำให้ทำความเข้าใจสูตรต่อไปนี้ก่อนครับ

=LOOKUP()
=MID()
=MIN()
=SEARCH()
=CHAR()
=ROW()
=INDIRECT()
=ROW()
=LEN()

และเมื่อใช้ซ้อนสูตรเช่น

=Row(Indirect("1:10") คือสูตรที่คืนค่าเลขลำดับ 1-10

ซึ่งปกติแล้วจะต้องกด Ctrl+Shift+Enter เพื่อทำเป็นสูตร Array

การแกะสูตรข้างบน ให้ลากคลุมแต่ละส่วนของสูตร (อย่าลืมวงเล็บ) แล้วกดแป้น F9 ครับ


จากคุณ : คนควน (คนควน) - [ 18 ม.ค. 50 13:22:15 ]
 
 

ความคิดเห็นที่ 6

อืม ผมลองทำตามคำแนะนำแล้วนะครับ ผลที่ได้ดังนี้ครับ
1. การแยกข้อความ กรณีข้อความขึ้นต้นด้วยภาษาอังกฤษ การทำงานสมบูรณ์ครับ
2. กรณีที่ข้อความขึ้นต้นด้วยภาษาไทย จะไม่มีการแยกข้อความครับ

ไม่ทราบว่าสูตรดังกล่าวใช้ในกรณีที่ 2 ได้ไหมครับ

ขอบคุณครับ


จากคุณ : รบกวนอีกครั้งครับ - [ 18 ม.ค. 50 13:46:48 A:124.120.95.215 X: ]
 
 

ความคิดเห็นที่ 7

1. ข้อความขึ้นต้นด้วยภาษาอังกฤษ ไม่แยกข้อความ
2. ข้อความขึ้นต้นด้วยภาษาไทย แยกข้อความ


จากคุณ : ขอโทษครับ เอาใหม่ - [ 18 ม.ค. 50 13:52:19 A:124.120.95.215 X: ]
 
 

ความคิดเห็นที่ 8

สำหรับข้อความที่สลับกันไปมา และมีช่องว่างระหว่างคำ สามารถใช้ เมนู Data > Text to column จัดการได้ครับ

ดูตัวอย่างได้ที่

http://www.pantip.com/tech/software/topic/SA2228346/SA2228346.html

หรือสูตรพื้นฐานพวก Left(),Trim(),Right(),Mid(),Search(),Substitute() ในการจัดการ เช่น
A2 คือ ตัวอย่างสูตรแยกข้อความระหว่าง English และไทย

B2=LEFT(A2,SEARCH(" ",A2)-1)

C2=LEFT(TRIM(SUBSTITUTE(A2,B2,"")),SEARCH(" ",TRIM(SUBSTITUTE(A2,B2,"")))-1)

D2=TRIM(SUBSTITUTE(SUBSTITUTE(A2,B2,""),C2,""))

สำหรับตัวอย่างสูตรที่ใช้ตัดคำตามที่หัวกระทู้ถามมานั้น เป็นการแยกคำที่ติดกัน การที่จะมาวรรคเอง แล้วค่อยหาสูตรแยกคำใหม่นั้นจะเสียเวลา ข้อมูลมากก็เสียเวลามาก

แก้ไขเมื่อ 18 ม.ค. 50 14:56:13

แก้ไขเมื่อ 18 ม.ค. 50 14:39:29

จากคุณ : คนควน - [ 18 ม.ค. 50 14:38:37 ]

 
 

ความคิดเห็นที่ 9

ตอบ คคห. 6,7 เนื่องจากไม่ได้ Refresh เลยไม่ทราบว่ามีคำถามเพิ่มเิติม

การที่มีภาษาอังกฤษอยู่ข้างหน้า ใช้สูตรเดิมไม่ได้ครับ ต้องเขียนสูตรใหม่ ยาวกว่าเดิม ความยากเท่าเดิม โดยที่ B1 คีย์

=LOOKUP("ฮ",MID(A1,MIN(SEARCH({"ก","ข","ค","ฆ","ง","จ","ฉ","ช","ซ","ฌ","ญ","ฎ","ฏ","ฐ","ฑ","ฒ","ณ","ด","ต","ถ","ท","ธ","บ","น","ป","ผ","ฝ","พ","ฟ","ภ","ม","ย","ร","ล","ว","ศ","ษ","ส","ห","ฬ","อ","ฮ"},A1&"กขคฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ")),ROW(INDIRECT("1:"&LEN(A1)))))

แล้ว Enter ธรรมดา เนื่องจากในสูตร คืนค่าเป็น Array อยู่แล้ว

ที่ C1 คีย์สูตรเดิม

แก้ไขเมื่อ 18 ม.ค. 50 15:05:45

จากคุณ : คนควน - [ 18 ม.ค. 50 14:49:34 ]

 
 

ความคิดเห็นที่ 10

เข้าใจแล้วครับ ขอบคุณมาก
ต้องกลับไปทำความเข้าใจสูตรพื้นฐานก่อน โดยเฉพาำะ Array ไม่งั้นเจอ Mega Formula แล้วเดี้ยง จะกลายเป็น Giga Formula ไป

ขอบคุณมากครับ


จากคุณ : แจ่มครับ - [ 18 ม.ค. 50 15:07:31 A:124.120.94.178 X: ]
 
 

ความคิดเห็นที่ 11

กรณีของค่าตัวเลข 65-90 ที่ใช้แทนค่า A-Z เขาเรียกว่าอะไรครับในภาษาทางการ แล้วจะมีวิธีอย่างไรในการดูค่าเหล่านี้
ยกตัวอย่าง เลข 65 แทนค่า A แล้วถ้าหากผมต้องการทราบว่า เครื่องหมาย / บนคีย์บอร์ดแทนด้วยตัวเลขอะไร ต้องดูจากไหนครับ

อิอิ ขอความรู้เพิ่มเติมครับ


จากคุณ : อีกนิดครับ ความรู้เพิ่มเติม - [ 18 ม.ค. 50 15:11:16 A:124.120.94.178 X: ]
 
 

ความคิดเห็นที่ 12

สมมุติ A1 = /

ที่ B1 คีย์

=Code(A1)

ฟังก์ชั่น =Code(อักขระ) เป็นการตรวจสอบว่าอักขระนั้นๆ มี Code เป็นเลขอะไรครับ


จากคุณ : คนควน - [ 18 ม.ค. 50 15:18:04 ]
 
 

ความคิดเห็นที่ 13

อันนี้ลองแก้สูตรตามที่แนะนำครับ กรณีที่ข้อความขึ้นต้นด้วยภาษาอังกฤษ
Cell A1 ข้อความ English and ไทย
Cell A2 สูตร {=LOOKUP("ฮ",MID(W4,MIN(SEARCH(CHAR(ROW(INDIRECT("161:228"))),W4&"กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿เแโใไๅๆ")),ROW(INDIRECT("1:"&LEN(W4)))))}
Cell A3 สูตร =SUBSTITUTE(A1,A2,"")
ผลที่ได้ มีการแยกข้อความในกรณีที่ข้อความขึ้นต้นด้วยภาษาอังกฤษ

ขอบคุณ คุณ คนควน นะครับที่ให้ความรู้


จากคุณ : มาอีกที - [ 18 ม.ค. 50 16:39:56 A:124.120.106.121 X: ]
 
 

ความคิดเห็นที่ 14

สูตรที่สั้นกว่าครับ ตัดชุดหน้าออกมา

สมมุติ A1 บรรจุคำที่ต้องการตัดคำ ที่ B1 คีย์

ไทยตามด้วยอังกฤษ

=LEFT(A1,MIN(SEARCH(CHAR(ROW(INDIRECT("65:90"))),A1&"abcdefghijklmnopqrstuvwxyz")-1))

อังกฤษตามด้วยไทย

=LEFT(A1,MATCH("zz",MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))

ทั้งสองสูตรต้อง Ctrl+Shif+Enter

C1 คีย์

=SUBSTITUTE(A1,B1,"")

แก้ไขเมื่อ 18 ม.ค. 50 19:05:34

แก้ไขเมื่อ 18 ม.ค. 50 18:06:03

จากคุณ : คนควน - [ 18 ม.ค. 50 18:03:14 ]

 
 

ความคิดเห็นที่ 15

ถ้าคุณยังใหม่กับสูตรอาร์เรย์ ลองศึกษาความรู้เกี่ยวกับสูตรอาร์เรย์ที่

http://www.excelexperttraining.com/blog/archives/z200-eLearning000262.php

http://www.excelexperttraining.com/blog/archives/z200-eLearning000263.php

จะใช้สูตรอาร์เรย์ได้ ต้องสร้างไปแกะไปค่ะ

ถ้าคุณสนใจเทคนิคการใช้เอ็กเซลอื่น ๆ การใช้สูตรอาร์เรย์ กับการกรองข้อมูลแบบซับซ้อน กรุณาทิ้งอีเมล์ไว้จะจัดส่งไปให้ค่ะ


จากคุณ : ผึ้งน้อย19711128 - [ 18 ม.ค. 50 21:28:59 ]
 
 

ความคิดเห็นที่ 16

kjuntaburt@gmail.com

จากคุณ : ทิ้งไว้ครับ - [ 18 ม.ค. 50 23:07:29 A:202.139.223.18 X: ]
 
 

ความคิดเห็นที่ 17

ขอบคุณครับ

จากคุณ : ขอบคุณครับ - [ 18 ม.ค. 50 23:08:41 A:202.139.223.18 X: ]
 
 

ความคิดเห็นที่ 18

mongkol_ssi@yahoo.com

ขอบคุณครับ


จากคุณ : MS - [ 24 ม.ค. 50 08:05:59 A:203.113.28.138 X: ]
 
 

ความคิดเห็นที่ 19

ขอด้วยคนครับ ขอบคุณมากครับ

tait89แอทgmail.com


จากคุณ : ta - [ 24 ม.ค. 50 09:55:51 A:124.120.25.74 X: ]
 
 

ความคิดเห็นที่ 20

เด็ดจริงๆครับ
ขอคารวะ


จากคุณ : สุดยอด (BanSan) - [ 24 ม.ค. 50 13:40:00 ]
 
 

ความคิดเห็นที่ 21

daorapong@hotmail.com

จากคุณ : คนผ่านมา - [ 24 ม.ค. 50 17:17:08 A:202.151.4.107 X: ]
 
 

ความคิดเห็นที่ 22

ขอบคุณคุณคนควน และคุณผึ้งน้อย
รบกวนคุณผึ้งน้อยส่งเทคนิค excel ให้ด้วยที่ thana.bpe@gmail.com ครับ


จากคุณ : Thana - [ 24 ม.ค. 50 23:22:58 A:203.188.63.47 X: ]
 
 



กระทู้ยอดนิยม

คลิกเพื่ออ่าน กติกามารยาท
คลิกเพื่ออ่าน Help & FAQ

ชื่อ / e-mail :   ตรวจสอบสถานะ member ที่นี่
รูปประกอบ : ( ไม่เกิน 50 K / Member เท่านั้น / Preview ไม่ได้ )
รายละเอียด : คลิกที่นี่เพื่อใช้งาน icon
แจ้งทาง mail เมื่อมีผู้ตอบ : ไม่ต้องแจ้ง แจ้ง (E-mail ในกรณีต้องการให้แจ้ง)
  PANTIP Toys
 
 

ข้อความหรือรูปภาพที่ปรากฏในกระทู้ที่ท่านเห็นอยู่นี้ เกิดจากการตั้งกระทู้และถูกส่งขึ้นกระดานข่าวโดยอัตโนมัติจากบุคคลทั่วไป ซึ่ง PANTIP.COM มิได้มีส่วนร่วมรู้เห็น ตรวจสอบ หรือพิสูจน์ข้อเท็จจริงใดๆ ทั้งสิ้น หากท่านพบเห็นข้อความ หรือรูปภาพในกระทู้ที่ไม่เหมาะสม กรุณาแจ้งทีมงานทราบ เพื่อดำเนินการต่อไป
Considering the real-time nature of this webboard, it is impossible for us to review all messages/post. Please remember that we do not actively monitor the contents of and are not responsible for any messages posted. Anyone who feels that a posted message is inappropriate, Please encouraged to contact us immediately by email at kratoo@pantip.com , and We will remove objectionable messages within a reasonable time frame.



Pantip-Cafe | Pantip-TechExchange | PantipMarket.com | PanTown.com | BlogGang.com