สูตรการลบช่องว่างออกจากเซลล์ Excel คืออะไรเมื่อการตัดแต่งไม่ทำงาน


10

ฉันมีตารางข้อมูล Excel ที่ฉันคัดลอกมาจากตาราง html ใน Internet Explorer คอลัมน์ของตารางทุกค่าดูเหมือนจะมีช่องว่างท้ายตาราง แต่Trimจะไม่ลบออก เมื่อฉันวางค่าพิเศษของผลลัพธ์ของTrimฟังก์ชั่นมันยังคงมีช่องว่างในตอนท้าย

มันอาจเป็นอักขระช่องว่างประเภทอื่นที่Trimไม่ลบออกหรือไม่


1
หากคุณดูในโหมดที่คุณสามารถดูชนิดของอักขระที่มีอักขระชนิดใดที่ไม่ถูกลบออก?
soandos

ถ้าคุณทำ = LEN (CELL) แล้วมันส่งคืนอะไร?
kobaltz

1
จากความอยากรู้หมายเลข ASCII ของอักขระตัวสุดท้ายคืออะไร ใช้=CODE(RIGHT(A1,1))(สมมติว่าA1มีข้อความที่มีปัญหา) เพื่อดู Space คือ 32, Tab คือ 9 และอักขระขึ้นบรรทัดใหม่คือ 10 และ 13
Hand-E-Food

1
@ Hand-E-Food ผลลัพธ์ของฟังก์ชันนั้นคือ 160
ผิดปกติสูง

@kobaltz, = LEN (CELL) ส่งคืน 9. ค่าของเซลล์คือ (โดยไม่ใส่เครื่องหมายอัญประกาศ) "010-0000" แต่ดูเหมือนว่าการตัดไม่ดูเหมือนว่าจะลบอักขระตัวสุดท้าย การคัดลอกและวางเพื่อใส่ค่าที่นี่อาจถูกปรับเปลี่ยนให้เป็นช่องว่างโดยเบราว์เซอร์ของฉันหรือวิธีการอื่น ๆ ...
สูงผิดปกติ

คำตอบ:


17

อักขระ 160 เป็นช่องว่างที่ไม่ทำลายอักขระที่ออกแบบมาให้มีลักษณะคล้ายช่องว่าง แต่ยังคงเป็นส่วนหนึ่งของคำบังคับให้คำที่อยู่ติดกันอยู่ด้วยกัน คุณสามารถแปลงเป็นช่องว่างปกติแล้วใช้การตัดแต่ง

สมมติว่าข้อความที่อยู่ในA1ใช้:

=TRIM(SUBSTITUTE(A1, CHAR(160), " "))

2
+1 การเชื่อมโยงนี่คือการอ้างอิงที่มีประโยชน์ ค่อนข้างบ่อยCLEAN, TRIMและSUBSTITUTEมีความจำเป็นทั้งหมดสำหรับการรับมือกับสตริง
brettdj

1

ถ้ามันมีแค่ช่องว่างเดียวและสมมุติว่าคอลัมน์คือ A

A1= "CELL A1 "
A2= "CELL A2 "

Then B1 would be =LEFT(A1, LEN(A1)-1)
Then B2 would be =LEFT(A2, LEN(A2)-1)

ถ้านั่นคือสิ่งที่มันเป็นเช่นนั้นการตัดแต่งจะใช้งานได้ ...
soandos

และจากสิ่งที่ความคิดเห็นบ่งบอกว่าสิ่งนี้จะใช้ได้เช่นกัน
kobaltz

1
เพราะคุณโชคดี น่าจะมีตัวละครมากกว่าหนึ่งตัวที่นั่นและคุณจะไม่มีทางรู้ นอกจากนี้คำตอบอื่น ๆ ยังเกี่ยวข้องกับมันไม่ว่าจะเกิดขึ้นที่ไหนในเซลล์ทำให้คำตอบทั่วไปดีขึ้นมากในทุกกรณี
soandos

ถ้ามันมีอะไรบางอย่างเช่น ASCII 160 และ ASCII 161 ที่ไหนถ้าคุณรู้ความยาวของแต่ละสตริงและคุณเห็นว่ามันออกไปจากที่คาดไว้ส่วนตัวผมไม่เห็นปัญหานี้ ฉันเปิดให้ลองและทำความเข้าใจกับมุมมองของคุณ แต่ทั้งสองวิธีมีข้อ จำกัด ในสภาพแวดล้อมที่แตกต่างกัน
kobaltz

ตกลง ฉันเดาว่าฉันชอบคำตอบอื่น ๆ มากขึ้นเพราะเขาระบุปัญหาแล้วแก้ไขมัน คุณมีวิธีแก้ไขสิ่งที่แก้ไขปัญหาที่คล้ายกัน ฉันเห็นประเด็นของคุณแล้ว +1
soandos

0

ฉันขอแนะนำให้เลือกแผ่นงานทั้งหมดและใช้แทนที่ (Ctrl + H) เพื่อแทนที่พื้นที่ว่างทั้งหมด (NBSP) ด้วยช่องว่าง สิ่งนี้ยังคงเว้นช่องว่างไว้ที่ส่วนท้ายของเซลล์ แต่หลีกเลี่ยงการลบ NBSP ออกจากส่วนกลางของเซลล์ คุณยังต้องใช้การตัดแต่ง แต่ก็ง่ายกว่า TRIM (SUBSTITUTE (... ))

ฉันคิดว่าฉันจะสามารถเข้าสู่ NBSP โดยใช้ Alt + 160 แต่มันไม่ได้ผลสำหรับฉัน ฉันต้องใช้แทรกสัญลักษณ์เพื่อวาง NBSP ลงในเซลล์คัดลอกจากที่นั่นแล้ววางลงในฟิลด์ค้นหาสิ่งที่

ด้วยสัญลักษณ์แทรก NBSP เป็นเซลล์ว่างในบรรทัดที่สามภายใต้ 4

หากนี่เป็นปัญหาการทำซ้ำคุณสามารถใช้ตัวบันทึกแมโครเพื่อบันทึกการแทนที่ อย่างไรก็ตามควรเขียนแมโครที่ใช้ FIND เพื่อค้นหา NBSP ที่ใดก็ได้ภายในสตริงใด ๆ และแทนที่ด้วยช่องว่างหรือลบตามตำแหน่งภายในสตริง มาโครนี้จะต้องวนซ้ำจนกว่าการค้นหาจะล้มเหลว


คุณสามารถพิมพ์ NBSP ด้วย Alt + 0160 ตัวเลขหนึ่งถึงสามหลักคือ ASCII, ตัวเลขสี่หลักเป็น Unicode
Hand-E-Food

ฉันยอมแพ้ทันทีที่มันไม่ทำงาน ความคิดเห็นของคุณทำให้ฉันลองอีกครั้ง ฉันลืมไปแล้วว่ามันทำงานได้เฉพาะกับแป้นตัวเลขซึ่งบนแล็ปท็อปอยู่ตรงกลางของแป้นพิมพ์ ฉันจะพยายามจดจำในครั้งต่อไปที่ฉันต้องป้อนอักขระด้วยวิธีนี้ ขอบคุณสำหรับคำแนะนำ
Tony Dallimore

0

ลองใช้ฟังก์ชั่น CLEAN (x) - กำจัด guff ทั้งหมดโดยเฉพาะอย่างยิ่งเมื่อคุณมี 161, 160 เป็นต้น


ไม่มันไม่ ไม่ได้ทำงานกับ 160 แน่นอน
robotik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.