Note: The other languages of the website are Google-translated. Back to English

ตัดหรือลบอักขระที่ไม่ใช่ตัวเลขออกจากสตริงข้อความ

บางครั้งคุณอาจต้องลบอักขระที่ไม่ใช่ตัวเลขทั้งหมดออกจากสตริงข้อความและเก็บเฉพาะตัวเลขตามภาพด้านล่างที่แสดง บทความนี้จะแนะนำสูตรสำหรับแก้งานนี้ใน Excel


ตัดหรือลบอักขระที่ไม่ใช่ตัวเลขทั้งหมดออกจากสตริงข้อความด้วยสูตร

ใน Excel 2019 และ Office 365 ฟังก์ชัน TEXTJOIN ใหม่ที่รวมกับฟังก์ชัน IFERROR, MID, ROW และ INDIRECT สามารถช่วยให้คุณแยกเฉพาะตัวเลขจากสตริงข้อความได้ไวยากรณ์ทั่วไปคือ:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text: สตริงข้อความหรือค่าเซลล์ที่คุณต้องการลบอักขระที่ไม่ใช่ตัวเลขทั้งหมดออก

1. โปรดคัดลอกหรือป้อนสูตรด้านล่างลงในเซลล์ว่างที่คุณต้องการให้ผลลัพธ์ออกมา:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

2. จากนั้นกด Ctrl + Shift + Enter คีย์เข้าด้วยกันเพื่อให้ได้ผลลัพธ์แรกดูภาพหน้าจอ:

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


คำอธิบายของสูตร:

แถว (ทางอ้อม ("1:100"): หมายเลข 1: 100 ในสูตรทางอ้อมหมายถึงฟังก์ชัน MID ประเมิน 100 อักขระของสตริงข้อความ อาร์เรย์นี้จะมีตัวเลข 100 ตัวดังนี้: {1; 2; 3; 4; 5; 6; 7; 8 .... 98; 99; 100}
หมายเหตุ: หากสตริงข้อความของคุณยาวขึ้นมากคุณสามารถเปลี่ยนตัวเลข 100 เป็นตัวเลขที่มากขึ้นได้ตามต้องการ

MID (A2, ROW (ทางอ้อม ("1: 100")), 1: ฟังก์ชัน MID นี้ใช้เพื่อดึงข้อความในเซลล์ A2 เพื่อให้ได้อักขระหนึ่งตัวและจะมีอาร์เรย์ดังนี้:
{"5"; "0"; "0"; ""; "K"; "u"; "t"; "o"; "o"; "l"; "s"; ""; "f" ; "o"; "r"; ""; "E"; "x"; "c"; "e"; "l"; ""; ";"; ";"; ";"; .. }

MID(A2,ROW(INDIRECT("1:100")),1)+0: การเพิ่มค่า 0 หลังจากใช้อาร์เรย์นี้เพื่อบังคับให้ข้อความเป็นตัวเลขค่าข้อความตัวเลขจะถูกแปลงเป็นตัวเลขและค่าที่ไม่ใช่ตัวเลขจะแสดงเป็นค่าความผิดพลาด #VALUE ดังนี้:
{"5"; "0"; "0"; # VALUE!; # VALUE!; # VALUE!; # VALUE!; # VALUE!; # VALUE! !; # VALUE! !; # VALUE! ... }

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0: ฟังก์ชัน IFERROR นี้ใช้เพื่อแทนที่ค่าความผิดพลาดทั้งหมดด้วยสตริงว่างเช่นนี้:
{"5"; "0"; "0"; ""; ""; ""; ""; ""; ";"; "; …}

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")): ในที่สุดฟังก์ชัน TEXTJION นี้จะรวมค่าที่ไม่ว่างทั้งหมดในอาร์เรย์ซึ่งส่งคืนโดยฟังก์ชัน IFFERROR และส่งกลับผลลัพธ์


หมายเหตุ:

1. ด้วยสูตรข้างต้นตัวเลขจะถูกส่งกลับเป็นรูปแบบข้อความหากคุณต้องการค่าตัวเลขจริงโปรดใช้สูตรนี้อย่าลืมกด Ctrl + Shift + Enter คีย์เข้าด้วยกันเพื่อให้ได้ผลลัพธ์ที่ถูกต้อง

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))+0

2. ใน Excel เวอร์ชันแรกสูตรนี้จะใช้ไม่ได้ในกรณีนี้สูตรต่อไปนี้อาจช่วยคุณได้โปรดคัดลอกหรือป้อนสูตรนี้ลงในเซลล์ว่าง:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)


ตัดหรือลบอักขระที่ไม่ใช่ตัวเลขทั้งหมดออกจากสตริงข้อความด้วยคุณสมบัติที่ง่าย

บางทีมันอาจจะยาวเกินไปที่จะจำสูตรข้างต้นฉันจะแนะนำ Kutools สำหรับ Excel สำหรับคุณด้วย ลบอักขระ คุณลักษณะนี้คุณสามารถลบอักขระที่เป็นตัวเลขตัวอักษรพิมพ์ไม่ได้หรือตัวอักษรผสมตัวเลขออกจากสตริงข้อความด้วยการคลิกเพียงไม่กี่ครั้ง คลิกเพื่อดาวน์โหลด Kutools for Excel ทดลองใช้ฟรี!


ฟังก์ชันสัมพัทธ์ที่ใช้:

  • TEXTJOIN:
  • ฟังก์ชัน TEXTJOIN รวมค่าหลายค่าจากแถวคอลัมน์หรือช่วงของเซลล์ที่มีตัวคั่นเฉพาะ
  • MID:
  • ฟังก์ชัน MID ใช้เพื่อค้นหาและส่งคืนอักขระจำนวนหนึ่งจากตรงกลางของสตริงข้อความที่กำหนด
  • ROW:
  • ฟังก์ชัน Excel ROW จะคืนค่าหมายเลขแถวของข้อมูลอ้างอิง
  • INDIRECT:
  • ฟังก์ชันทางอ้อมของ Excel จะแปลงสตริงข้อความเป็นการอ้างอิงที่ถูกต้อง
  • IFERROR:
  • ฟังก์ชัน IFERROR ใช้เพื่อส่งคืนผลลัพธ์ที่กำหนดเองเมื่อสูตรประเมินข้อผิดพลาดและส่งคืนผลลัพธ์ปกติเมื่อไม่มีข้อผิดพลาดเกิดขึ้น

บทความเพิ่มเติม:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel - ช่วยให้คุณโดดเด่นจากฝูงชน

คุณต้องการทำงานประจำวันของคุณให้เสร็จอย่างรวดเร็วและสมบูรณ์แบบหรือไม่? Kutools สำหรับ Excel นำคุณสมบัติขั้นสูงที่มีประสิทธิภาพ 300 รายการ (รวมสมุดงาน, รวมตามสี, แยกเนื้อหาของเซลล์, แปลงวันที่และอื่น ๆ ... ) และประหยัดเวลาให้คุณ 80%

  • ออกแบบมาสำหรับสถานการณ์การทำงาน 1500 สถานการณ์ ช่วยคุณแก้ปัญหา Excel 80%
  • ลดการคลิกแป้นพิมพ์และเมาส์หลายพันครั้งต่อวันช่วยบรรเทาอาการเมื่อยล้าของดวงตาและมือ
  • เป็นผู้เชี่ยวชาญด้าน Excel ใน 3 นาที ไม่จำเป็นต้องจำสูตรและรหัส VBA ที่เจ็บปวดอีกต่อไป
  • ทดลองใช้ฟรี 30 วันไม่ จำกัด รับประกันคืนเงิน 60 วัน อัปเกรดและสนับสนุนฟรี 2 ปี
Ribbon ของ Excel (ติดตั้ง Kutools for Excel)

แท็บ Office - เปิดใช้งานการอ่านแบบแท็บและการแก้ไขใน Microsoft Office (รวม Excel)

  • หนึ่งวินาทีเพื่อสลับไปมาระหว่างเอกสารที่เปิดอยู่มากมาย!
  • ลดการคลิกเมาส์หลายร้อยครั้งสำหรับคุณทุกวันบอกลามือเมาส์
  • เพิ่มประสิทธิภาพการทำงานของคุณได้ถึง 50% เมื่อดูและแก้ไขเอกสารหลายฉบับ
  • นำแท็บที่มีประสิทธิภาพมาสู่ Office (รวมถึง Excel) เช่นเดียวกับ Chrome, Firefox และ Internet Explorer ใหม่
ภาพหน้าจอของ Excel (ติดตั้ง Office Tab)
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (4)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับสิ่งนี้. สูตรที่ดี ฉันจะแก้ไขได้อย่างไรเพื่อให้ถ้าเซลล์มีเฉพาะตัวอักษร สูตรจะป้อน 0 เซลล์ผลลัพธ์ (แทนที่จะว่างเปล่าเหมือนที่เป็นอยู่ในขณะนี้) คิดว่าฉันอาจจะทำได้โดยใส่สูตรลงไป คำสั่ง IF อื่น แต่ฉันไปได้ไม่ไกล
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Glenn หากต้องการแสดงผลลัพธ์เป็นช่องว่างแทนที่จะเป็นศูนย์ โปรดใช้สูตรต่อไปนี้:=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")

โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ว้าว น่ากินจังเลย 😋 ขอบคุณที่สละเวลาตอบนะคะ 👍
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สูตรนี้สำหรับการตั้งค่าภาษาฝรั่งเศสคืออะไร?
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL