Page 1 of 1

สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 9:00 am
by kannaree
พอดีว่า มีข้อมูลอยู่ 1 ชุดประกอบด้วยข้อมูลต่อไปนี้


A B C D
------------------------------------------------------------------------
1 001 MS.KANNAREE S. Planing
2 002 MS.SUPUNNEE F. Seal
3 003 MRS.APINYA K. Material
4 004 MR.PORNCHAI S. MAINTENANCE
5 005 MRS.MANTANA R. Control Packing
6 006 MS.SAMORN C. Packing

โดยมีเงื่อนไขที่ว่า ต้องการ รหัส ใชช่อง B1:B6 ไปใส่ไว้อีกไฟล์
โดย ไม่เอา MR. และ ตำแหน่งที่เป็น Control Packing หรือ Packing

โดยจะได้อยากได้ข้อมูลแค่

A
---------
001
002
003

ไม่ทราบว่าจะเขียนสูตรอย่างไรคะ สงสัยว่าทำไม หนูลองเขียนสูตร if ที่ว่า
A1 = IF(C1:C6="MS*",B1:B6,0) // ทำไมผลลัพธ์ออกมาเป็นเท็จคือเท่ากับ 0 ละคะ Star (*) ไม่สามารถใช้ได้กับสูตรตัด String ได้หรอคะ แต่พอ เขียนสูตรที่ว่า

A1 = IF(C1:C6="MS.KANNAREE S.",B1:B6,0) // ผลลัพธ์เป็นจริง ได้ออกมาเป็น 001

ยังไงรบกวนพี่ๆแนะนำหน่อยนะคะ พอดีไม่พึ่งจะเริ่มศึกษา excel ยังไม่เก่งคะ

ขอบคุณมากคะ

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 9:09 am
by DhitiBank
รบกวนแนบไฟล์ตัวอย่างที่เป็นเอ็กเซลล์มาด้วยได้ไหมครับ (ตาม forum rule ข้อ 4 ด้านบน) เพื่อเพื่อนๆ ที่เข้ามาช่วยดูจะได้เอาไฟล์ไปทดสอบได้สะดวกครับ :)

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 10:46 am
by kannaree
แนบไฟล์มาให้แล้วค่ะ


ขอบคุณมากๆ ค่ะ

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 11:00 am
by DhitiBank
ลองแบบนี้ครับ
test.png
1. สร้างตารางรายการตำแหน่งที่ไม่ต้องการแสดงก่อน เพื่อจะได้ไม่ต้องคีย์ลงไปเองในสูตรครับ ผมสร้างไว้ในเซลล์ D17:D20

2. ที่ B18 คีย์สูตร

=IFERROR(INDEX($B$2:$B$11,SMALL(IF(ISNA(MATCH($D$2:$D$11,$D$17:$D$20,0)),ROW($D$2:$D$11)-ROW($D$2)+1),ROWS(B$18:B18))),"")
แล้วกด Ctrl+Shift ค้าง ตามด้วย Enter (กดถูกจะเห็นเครื่องหมายปีกกา { } ขึ้นมาครอบสูตรโดยอัตโนมัติ)

แล้วคัดลอกสูตรลงล่างครับ

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

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 11:17 am
by kannaree
ขอบคุณมากคะ เดี๋ยวจะลองทำกับไฟล์จริงดูก่อนนะคะ
^^

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 11:24 am
by kannaree
พี่คะ ที่ไฮไลท์สีฟ้า อยากได้ที่ไม่เอา MR. ไม่ใช่ SINGTO M/C ,Control Maintenance
คือคนที่คำนำหน้าเป็น MR. จะไม่สนใจคะ
แล้วที่นี่ จะสร้างตารางรายการตำแหน่งที่ไม่ต้องการแสดงก่อน แค่ MR.* ได้ไหมคะ หรือยังไง

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 12:04 pm
by DhitiBank
อ๋อ ถ้าอย่างนั้นปรับสูตรที่ B18 เป็น

=IFERROR(INDEX($B$2:$B$11,SMALL(IF(ISNA(MATCH($D$2:$D$11,$D$17:$D$18,0)),IF(LEFT($C$2:$C$11,3)<>"MR.",ROW($D$2:$D$11)-ROW($D$2)+1)),ROWS(B$18:B18))),"")

ที่ระบายสีคือส่วนที่เพิ่มเข้ามาเพื่อไม่นับชื่อที่มี "MR." นำหน้า

ส่วนตารางตำแหน่งก็ลบตำแหน่งที่ยังต้องการออกไปตามรูปด้านล่างครับ
test2.png

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Thu Feb 04, 2016 2:07 pm
by kannaree
ขอบคุณมากมากค่ะ

^/\^

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Mon Feb 08, 2016 8:57 am
by kannaree
ขอสอบถามหน่อยคะ

ว่าสูตรนี้ =IFERROR(INDEX($B$2:$B$11,SMALL(IF(ISNA(MATCH($D$2:$D$11,$D$17:$D$18,0)),IF(LEFT($C$2:$C$11,3)<>"MR.",ROW($D$2:$D$11)-ROW($D$2)+1)),ROWS(B$18:B18))),"")

จะแปลงเป็นสูตรอย่างไรถึงจะสามารถไปใช้ใน excel 2007 ได้คะ พอดีว่าเครื่องแต่ละเครื่องในการใช้งานมีหลายเวอร์ชั่นคะพอเอาสูตรนี้ไปเปิดในเวอร์ชั่น 2007 ไม่สามารถเปิดได้ค่ะ

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Mon Feb 08, 2016 9:39 am
by XDoll
:D ลองเพิ่มจากสูตรเดิมที่คุณ DhitiBank ให้มานะครับ
=IF(ISERROR(สูตรเดิม),"",สูตรเดิม) Ctrl+Shift+Enter

หรือลองตัดสูตรส่วนที่เป็นสีแดงออก
=IFERROR(INDEX($B$2:$B$11,SMALL(IF(ISNA(MATCH($D$2:$D$11,$D$17:$D$18,0)),IF(LEFT($C$2:$C$11,3)<>"MR.",ROW($D$2:$D$11)-ROW($D$2)+1)),ROWS(B$18:B18))) ,"") Ctrl+Shift+Enter
**แต่หากคอปปี้เกินบรรทัดจะฟ้องเออเร่อ #NUM! (อาจจะไม่สวยงาม)

Re: สอบถามเรื่อง สูตรการตัดข้อความ String หน่อยคะ

Posted: Mon Feb 08, 2016 12:05 pm
by kannaree
ขอบคุณมากค่ะ