Page 1 of 1

รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 7:25 am
by natthaporn
ผลลัพธ์ที่ต้องการ
1.1aaa\bb bb
1.2aaa\cc\ eee eee
ccc\xx\yyy\1zzzz 1zzzz

ดิฉันต้องการตัดคำให้เหลือคำที่อยู่หลังเครื่องหมาย "\" ของด้านขวามือสุดคะ
ขอบคุณคะ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 8:07 am
by DhitiBank
หากเครื่องหมาย "\" ในข้อความมีมากสุดแค่ 3 ตำแหน่ง ทดลองแบบนี้ครับ
ที่ C2 คีย์

Code: Select all

=IF(ISERR(FIND("\",B2,FIND("\",B2)+1)),MID(B2,FIND("\",B2)+1,255),
IF(ISERR(FIND("\",B2,FIND("\",B2,FIND("\",B2)+1)+1)),MID(B2,FIND("\",B2,FIND("\",B2)+1)+1,255),
MID(B2,FIND("\",B2,FIND("\",B2,FIND("\",B2)+1)+1)+1,255)))
Enter คัดลอกลงล่าง

แต่หาก "\" เกิน 3 ตำแหน่ง คงต้องใช้สูตรที่ยืดหยุ่นกว่า รอท่านอื่นครับ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 8:26 am
by natthaporn
ก่อนอื่นต้องขอขอบคุณ คุณ DhitBank สำหรับคำแนะนำคะ
ข้อมูลจริงมี "\" เกินกว่า 3 ตำแหน่งคะ มีมากสุด 8 ตำแหน่งคะ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 8:52 am
by DhitiBank
เอาใหม่ครับ เปลี่ยนเป็นสูตรนี้จะยืดหยุ่นกว่า (เพิ่งคิดออก)

Code: Select all

=MID(B2,LOOKUP(2,1/("\"=MID(B2,ROW(INDIRECT("1:"&LEN(B2))),1)),ROW(INDIRECT("1:"&LEN(B2))))+1,255)
Ctrl+Shift+Enter

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 9:00 am
by natthaporn
ได้ผลลัพธ์ตามที่ต้องการแล้วคะ ขอบคุณ คุณ DhitiBank มากคะ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 9:04 am
by natthaporn
ขอรบกวนคุณ DhitiBank อีกอย่างหนึ่งได้ไหมคะ
รบกวนอธิบายความหมายของสูตรนี้ได้ไหมคะ ดิฉันต้องการเรียนรู้ไว้ เพื่อที่จะได้นำไปประยุกต์ใช้กับงานอื่น ๆ คะ

ขอบคุณมากคะ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 9:37 am
by DhitiBank
ได้ครับ

1. ดูคำสั่ง Mid ด้านในก่อนครับ รูปแบบคือ
MID(คำที่จะตัด,ตำแหน่งเริ่มต้นที่จะตัด,จำนวนอักษรที่จะตัด)
แต่ตำแหน่งเริ่มต้นที่จะตัดในที่นี้ ระบุทุกตำแหน่งตั้งแต่อักษรแรกจรถึงอักษรสุดท้ายในคำนั้นๆ จุดประสงค์เพื่อจะแยกอักษรออกมาเป็นตัวๆ ครับ

(**ลองลากคลุมสูตรแล้วกด F9 ดูครับ เป็นวิธีแกะสูตร ดูเสร็จแล้วกด ESC)

2. จับชุดอักษรทีแยกได้มาเท่ากับ "\" เพื่อหาว่ามีอักษรตำแหน่งใดบ้างที่เป็น "\" หากเป็นตัวเดียวกันจะขึ้นว่า TRUE ไม่ใช่ก็ FALSE (True จะมีค่า =1 ส่วน False=0 ครับ ลองกด F9 ดู)

3. คราวนี้ เอา 1 มาหารด้วย TRUE FALSE ที่ได้ ตำแหน่งไหนเป็น true หารแล้วจะได้ 1 ตำแหน่งไหนเป็น 0 หารแล้วก็ error ที่ต้องทำเช่นนี้เพื่อเอามาใช้ในสูตร Lookup ครับ

4. Lookup ใช้เพื่อหาว่า "\" ตำแหน่งสุดท้ายอยู่ที่อักขระที่เท่าไร โดยจากข้อ 3) ผลหารจะมีแค่ 1 กับค่า error แต่เราสั่ง lookup เลข 2 ซึ่งไม่มีแน่นอน สูตรก็จะเลือกเลข 1 ที่อยู่ทางขวาสุด จากนั้นสูตรก็จะคืนค่าโดยเลือกจากชุดตัวเลข ROW(INDIRECT("1:"&LEN(B2))) ในตำแหน่งเดียวกันกับเลข 1 ที่อยู่ทางขวาสุดครับ ซึ่งนั่นคือตำแหน่งของ "\" ที่อยู่ทางขวาสุดนั่นเอง

5. MID ด้านนอกสุด ใช้เพื่อตัดให้เหลือแค่ที่ต้องการ เพราะเราได้ตำแหน่งที่จะเริ่มตัดจากข้อ 4) (+1 ด้วยเพื่อสั่งให้ตัดหลังจากเครื่องหมาย "\") จำนวนที่ตัดคือ 255 เพราะเลขนี้เป็นจำนวนอักขระมากที่สุดที่มีได้ใน 1 เซลล์ครับ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 1:15 pm
by natthaporn
ขอบคุณ คุณ Dhitibank มากๆคะ สำหรับคำอธิบายที่ละเอียด ชัดเจน สามารถทำความเข้าใจได้ง่ายคะ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 6:29 pm
by snasui
:D มาช่วยเสริมครับ
DhitiBank wrote:5. MID ด้านนอกสุด ใช้เพื่อตัดให้เหลือแค่ที่ต้องการ เพราะเราได้ตำแหน่งที่จะเริ่มตัดจากข้อ 4) (+1 ด้วยเพื่อสั่งให้ตัดหลังจากเครื่องหมาย "\") จำนวนที่ตัดคือ 255 เพราะเลขนี้เป็นจำนวนอักขระมากที่สุดที่มีได้ใน 1 เซลล์ครับ
จำนวน 255 นั้นเป็นเพียงตัวเลขที่ประมาณว่าตัดมาแล้วไม่เกิน 255 อักขระ หากเกินกว่านั้นสามารถกรอกตัวเลขได้ตามต้องการ

สำหรับความสามารถรองรับข้อมูลของ Excel นั้น ในเซลล์หนึ่ง ๆ สามารถบรรจุอักขระได้ถึง 32,767 อักขระครับ
natthaporn wrote:ดิฉันต้องการตัดคำให้เหลือคำที่อยู่หลังเครื่องหมาย "\" ของด้านขวามือสุดคะ
อีกตัวอย่างสูตรครับ

=TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",100)),100))

Enter

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 9:43 pm
by DhitiBank
:oops: ขอบพระคุณอาจารย์มากครับที่มาแก้ไข ปล่อยไก่อีกแล้วเรา และสำหรับสูตรใหม่ด้วยครับ ขอจดก่อน

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 10:07 pm
by snasui
DhitiBank wrote::oops: ขอบพระคุณอาจารย์มากครับที่มาแก้ไข ปล่อยไก่อีกแล้วเรา และสำหรับสูตรใหม่ด้วยครับ ขอจดก่อน
:thup: ไม่ได้เป็นการปล่อยไก่แต่อย่างใดครับ ถือเป็นความคลาดเคลื่อนเล็กน้อย เพราะถึงจะเข้าใจตามนั้นก็ยังได้คำตอบที่ถูกต้อง การช่วยอธิบายเพื่อนสมาชิกอย่างละเอียดตามโพสต์ด้านบนนับว่าเป็นความกรุณาด้วยความจริงใจ ทั้งได้ทบทวนถึงความเข้าใจของเราต่อสูตรที่เขียน มีการช่วยกันเสริมให้เกิดความสมบูรณ์ ทำให้เกิดประโยชน์ร่วมกัน ฟอรั่มนี้ก็จะยิ่งมีคุณค่าต่อทุก ๆ คนยิ่ง ๆ ขึ้นไปครับ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 10:40 pm
by DhitiBank
:D ขอบพระคุณครับ

Re: รบกวนสอบถามสูตรการตัดคำ

Posted: Thu Feb 26, 2015 11:11 pm
by Totem
snasui wrote:
DhitiBank wrote::oops: ขอบพระคุณอาจารย์มากครับที่มาแก้ไข ปล่อยไก่อีกแล้วเรา และสำหรับสูตรใหม่ด้วยครับ ขอจดก่อน
:thup: ไม่ได้เป็นการปล่อยไก่แต่อย่างใดครับ ถือเป็นความคลาดเคลื่อนเล็กน้อย เพราะถึงจะเข้าใจตามนั้นก็ยังได้คำตอบที่ถูกต้อง การช่วยอธิบายเพื่อนสมาชิกอย่างละเอียดตามโพสต์ด้านบนนับว่าเป็นความกรุณาด้วยความจริงใจ ทั้งได้ทบทวนถึงความเข้าใจของเราต่อสูตรที่เขียน มีการช่วยกันเสริมให้เกิดความสมบูรณ์ ทำให้เกิดประโยชน์ร่วมกัน ฟอรั่มนี้ก็จะยิ่งมีคุณค่าต่อทุก ๆ คนยิ่ง ๆ ขึ้นไปครับ
:D :thup: :cp: เห็นด้วยเป็นอย่างยิ่งครับ