Page 1 of 1
การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 10:34 am
by romeko
เคยได้อ่านบล็อกของอาจารย์ เกี่ยวกับ "เทคนิคการตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ" โดยไม่ได้ใช้ฟังชั่น Text To Column เห็นว่าเป็นประโยชน์กับการทำงานดีค่ะ แต่ว่า ถ้าเราจะแยกเป็นแบบแนวนอน ทำอย่างไรค่ะ
เช่น ข้อมูลในเซล์ล A1 คือ Somchai/นิด/ดวงกมล/อนุภาพ/ลักขณา รบกวนด้วยค่ะ ลองพลิกแพลงสูตรแล้ว แต่ไม่สำเร็จ ขอบคุณค่ะ

Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 10:37 am
by snasui

แนบไฟล์และสูตรที่ลองเขียนเองแล้วมาดูกันครับ
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 10:40 am
by bank9597

ใช้ Text To Column ได้ครับ ลองดูตามภาพ
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 10:56 am
by romeko

แนบไฟล์และสูตรที่ลองเขียนเองแล้วมาดูกันครับ
แนบมาแล้วค่ะ
ขอบคุณ คุณ Guru มากค่ะ แต่ที่ต้องการคือไม่ได้ทำใน Text To Column ค่ะ
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 11:02 am
by snasui

ที่ C1 ปรับสูตรเป็นด้านล่างครับ
=TRIM(MID(SUBSTITUTE(","&
$A1,",",REPT(" ",
$B1)),
COLUMNS(
$C1:C1)*
$B1,
$B1))
Enter > Copy ไปทางขวา
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 11:08 am
by romeko
โอ้โห รวดเร็วดีจังค่ะ ของคุณอย่างสูงค่ะ ก็คือถ้าเป็นแนวนอนให้เปลี่ยน "Rows" อีกนิดนะค่ะ ที่ A4 List "Ake" ทำไมจึงได้แยกเป็น Ak e ค่ะ
ลองใส่เครื่องหมายท้าย Ake, ก็หายค่ะ ถ้าหลายร้อยแถวก็คงวุ่นอยู่ค่ะ

Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 11:22 am
by snasui

สูตรตัวอย่างที่ผมเขียนไว้นั้นเขียนเพื่อ
แยกข้อความที่มีเครื่องหมายคั่น หากมีเครื่องหมายคั่นบ้าง ไม่มีคั่นบ้างแสดงว่าอยู่นอกเหนือความมุ่งหมายของสูตร จำเป็นต้องประยุกต์ใช้ต่อไปจากนั้นครับ
ตัวอย่างการประยุกต์ตามด้านล่างครับ
=TRIM(MID(SUBSTITUTE(","&$A1,",",REPT(" ",$B1)),COLUMNS($C1:C1)*$B1+ISERR(FIND(",",$A1)),$B1))
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 12:17 pm
by romeko

ขอบคุณอาจารย์อย่างสูงค่ะ
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 12:43 pm
by romeko
รบกวนสอบถามอีกนิดนะค่ะ (ไม่แน่ใจว่าผิดระเบียบการตั้งกรัทู้ถามหรือเปล่า ถ้าผิดจะตั้งกระทู้ถามใหม่นะค่ะ) คือมันเกี่ยวเนื่องกันค่ะ ถ้าต้องการนับเซลล์เฉพาะที่มีข้อมูลในช่วงเซลล์ ดังที่เราแยกรายชื่อออกมาแล้ว ติดปัญหาที่ว่า
ที่ใช้อยู่คือ =counta() ปรากฎว่านับทั้งหมดแถวเลย คือนับสูตรไปด้วย (คือก๊อบสูตรลากออกไป) ทั้งที่ ชื่อมีแค่ 2 เซลล์ รบกวนด้วยค่ะ
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 1:28 pm
by joo

ลองแบบนี้ดูว่าตรงกับที่ต้องการไหม ที่เซลล์ใดๆคีย์ =COUNTA(C1:H1)-COUNTIF(C1:H1,"")
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 1:32 pm
by snasui
romeko wrote: ถ้าต้องการนับเซลล์เฉพาะที่มีข้อมูลในช่วงเซลล์ ดังที่เราแยกรายชื่อออกมาแล้ว ติดปัญหาที่ว่า
ที่ใช้อยู่คือ =counta() ปรากฎว่านับทั้งหมดแถวเลย คือนับสูตรไปด้วย (คือก๊อบสูตรลากออกไป) ทั้งที่ ชื่อมีแค่ 2 เซลล์
กรณีต้องการนับว่าแยกออกมาแล้วมีกีชื่อสามารถใช้สูตรที่เซลล์ใด ๆ เพื่อนับว่า A1 มีกี่ชื่อได้ตามตัวอย่างด้านล่างครับ
=B1-LEN(SUBSTITUTE(A1,",",""))+1 หรือนับจากค่าที่แยกออกมาแล้ว
=COUNTIF(C1:N1,"*?")
Re: การตัดข้อความที่คั่นด้วยเครื่องหมายต่าง ๆ (แนวนอน)
Posted: Sat Nov 24, 2012 1:42 pm
by joo

สูตรของท่านอาจารย์ง่ายและสั้นดีนะครับ
