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

ลองเพิ่มจาก
สูตรเดิมที่คุณ 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
ขอบคุณมากค่ะ