วิธีแสดงหรือดูอักขระที่ไม่พิมพ์ใน Excel ได้อย่างไร


12

มีตัวเลือกใน MS Excel 2010 ที่จะแสดงอักขระที่ไม่พิมพ์ภายในเซลล์ (เช่นช่องว่างหรืออักขระบรรทัดคำแนะนำโดยการกด Alt-Enter) หรือไม่


2
คุณสามารถใส่=IF(CLEAN(A1)=A1,"NA","Needs Cleaning")เซลล์ถัดจากเซลล์ถัดจากเซลล์หรือคุณสามารถใช้การจัดรูปแบบตามเงื่อนไขโดยใช้เครื่องหมายถ่าน () (หรือ chr ใน VBA) เพื่อค้นหาการส่งคืน carraige (ถ่าน (13)) หรืออักขระอื่น ๆนี่คือ ลิงก์ไปยังหมายเลขถ่าน

คุณต้องการเห็นเหตุผลอะไร หากคุณไม่ต้องการเห็นพวกเขามีหลายวิธีที่เราอาจช่วยให้คุณบรรลุเป้าหมายอื่น (เช่นลบการแบ่งบรรทัดทั้งหมดออกจากคอลัมน์ของเซลล์)
PatKilg

เป้าหมายของการแสดงตัวอักษรที่ไม่ได้พิมพ์ก็เพื่อพิสูจน์เนื้อหาของเซลล์ เนื่องจากเนื้อหาเป็นเรื่องทางเทคนิคและการรับคืนสินค้าเป็นเรื่องธรรมดา (และคาดว่าจะมี) ภายในเนื้อหานี้จึงเป็นสิ่งที่ต้องทำด้วยมือ
Freda K

@scott ขอบคุณมากสำหรับบันทึกเกี่ยวกับการใช้ CLEAN () ฟังก์ชั่นนั้นจะมีประโยชน์มากแม้ว่ามันจะไม่ช่วยในเรื่องนี้
Freda K

ดูเหมือนว่าคุณกำลังใช้โปรแกรมที่ไม่ถูกต้องสำหรับงานของคุณ แต่ฉันเข้าใจว่าอาจหลีกเลี่ยงไม่ได้ในบางครั้ง ทำไมคุณไม่สามารถใช้ตารางใน Microsoft Word ได้ ที่กล่าวว่าฉันตอบคำถามเฉพาะด้านล่างนี้
PatKilg

คำตอบ:


3

ในขณะที่คุณไม่สามารถแสดงอักขระพิเศษในเซลล์ได้โดยตรงคุณสามารถใช้สูตรในคอลัมน์ที่อยู่ติดกัน (แทรก) เพื่อแทนที่ Enters และ Spaces ด้วยอักขระที่คุณเลือก!

เช่น

= SUBSTITUTE (A1;"
";"
¶
")
จะแทนที่ linebreak ใด ๆ ด้วยสัญลักษณ์คำสำหรับการแบ่งบรรทัด และสูตรที่ซ้อนกัน
= SUBSTITUTE (SUBSTITUTE (A1;"
";"
¶
");" ";" _ ")
จะแทนที่ทั้งเว้นวรรคและป้อน (หมายเหตุ: ในการป้อน "Enter" ในสูตรคุณต้องกดAlt+Enterขณะแก้ไขสูตร


ชอบที่จะทำงานทำไมฉันไม่คิดอย่างนั้น!
PatKilg

10

วิธีที่ง่ายที่สุดในการทำคือเปลี่ยนฟอนต์เป็นฟอนต์ที่มี glyph ที่มองเห็นในตัวสำหรับพื้นที่ (หรืออักขระอื่น ๆ ที่คุณอาจต้องระบุ)

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

แก้ไขในที่สุดฉันก็ถึงเวลาที่จะทำให้ตัวอักษรดังกล่าว! นี่คือ DottedSpace Mono ซึ่งมาจาก Bitstream Vera Sans Mono แต่มีช่องว่างแบบบิวด์อิน build-in:

http://github.com/tanusoft/DottedSpaceMono


1
ฉันไม่เห็น linefeeds ตัวอย่างเช่น
zylstra

4

CTRL + H แทนที่ช่องว่างทั้งหมดด้วย a ~ ซึ่งจะช่วยให้มีช่องว่างได้อย่างรวดเร็วโดยไม่ต้องเขียนโปรแกรมและย้อนกลับเพียงแทนที่ด้วย ~ ""

โปรแกรมที่ดีที่สุดที่ฉันพบสำหรับการเปรียบเทียบไฟล์ประเภทนี้ที่ข้อความไม่แสดงคือ Ultra Edit ต้องใช้มันเพื่อเปรียบเทียบไฟล์ EDI, ไฟล์อินเตอร์เฟส, การอัปโหลดทางเทคนิคเป็นต้น MS Office เพียง แต่ไม่ได้มีความพร้อมสำหรับงาน


วิธีนี้จะแทนที่ช่องว่าง แต่ไม่ใช่อักขระที่ไม่ใช่การพิมพ์ทั้งหมดเช่น CHAR (10) (carriage return ภายในเซลล์และสามารถใช้งานได้Alt-Enter)
Freda K


0

ไม่ตอบคำถามของคุณอย่างแน่นอน แต่ฉันได้กำหนดรูปแบบตัวเลขเป็น:

;;;'@'

สำหรับคำพูดเดียวหรือนี่

;;;\"@\"

สำหรับเครื่องหมายคำพูดคู่ ที่ล้อมรอบคำพูดรอบข้อความที่ป้อน ฉันยังตั้งแบบอักษรเป็น Courier ใหม่ (หรือแบบอักษรที่มีความกว้างคงที่อื่น ๆ )


0

1 ใช้การค้นหาและป้อนพื้นที่

2 ทำการแทนที่ทั้งหมดและพิมพ์ใน "[space]"

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

ผลลัพธ์: ช่องว่างที่น่ารำคาญเหล่านั้นจะเปิดเผยตัวเองอย่างชัดเจน

ทำไมฉันต้องทำสิ่งนี้: ฉันใช้ฟังก์ชัน COUNTA เพื่อค้นหาเซลล์ที่ไม่ว่างในคอลัมน์ อย่างไรก็ตามมันกลับมามีขนาดใหญ่กว่าที่ฉันคาดไว้ ฉัน debugged แต่ละเซลล์ทีละคนและเพื่อความประหลาดใจของฉันเซลล์ว่างเปล่าที่เห็นได้ชัดบางอย่างแสดงให้เห็นว่า COUNTA = 0 และคนอื่น ๆ แสดงให้เห็นว่า COUNTA = 1 ซึ่งไม่มีเหตุผล ฉันไม่เห็นความแตกต่างระหว่างคนทั้งสอง มันจะนับเป็นค่าว่างที่เหลืออยู่ในฟังก์ชันนั้น แต่จะมองไม่เห็นไม่ว่าจะอยู่ที่ใดในเซลล์หรือช่องป้อนข้อมูลที่ด้านบน

สรุป: หากคุณพึ่งพา COUNTA สำหรับงานที่สำคัญคุณควรตรวจสอบให้แน่ใจว่าไม่ได้นับช่องว่างที่เป็นปัญหาที่คุณอาจไม่ทราบ


0

ปกติฉันไม่ต้องการ VBA ดังนั้นฉันชอบทำ excel ใน python + openpyxl

from docx import Document #word docx py library
import openpyxl #excel py library
from openpyxl.styles import Color, PatternFill, Font, Border
from openpyxl.styles import colors
from openpyxl.cell import Cell
import re #regular expressions
import os #work with system

wb = openpyxl.load_workbook('test.xlsx') #open needed document

redFill = PatternFill(start_color='FFFF0000',
                   end_color='FFFF0000',
                   fill_type='solid')        #function to fill bad cells red

n = 0
print (wb.sheetnames)       #print all sheetnames to ensure theres no hidden

for sheet in wb.worksheets:  #cycle through sheets in excel file
    # get max row count
    max_row=sheet.max_row
    # get max column count
    max_column=sheet.max_column
    for i in range(1,max_row+1):
     # iterate over all columns
        for j in range(1,max_column+1):  #cycle through all rows and columns
            # get particular cell value    
            cell_obj=sheet.cell(row=i,column=j)
            s = re.search('[^-*+()!№;%:?@#$%^&;:_=/\\a-zA-Z0-9\ а-яА-Я°\'\".,,.«»<>ёЁ]', str(cell_obj.value)) #find bad symbols with regular expression
            #^ find not normal characters 
            #s = re.search('[\n]', str(cell_obj.value)) find line end
            if s:   
                print(n, " ", i, " ", j) #sheet, row, col
                #print("^", s, "^") print bad symbol
                #sheet.cell(row=i,column=j).fill = redFill
                #color current cell wth spec chars red

    print(n)
    n+=1

wb.save("test.xlsx") #save redacted book


โดยทั่วไปแล้วคำตอบมีประโยชน์มากขึ้นหากพวกเขามีคำอธิบายว่ารหัสนี้มีจุดประสงค์เพื่ออะไรและเหตุใดจึงแก้ปัญหาได้โดยไม่ต้องแนะนำผู้อื่น
MMM

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