Làm cách nào để hiển thị hoặc xem các ký tự không in trong Excel?


12

Có một tùy chọn trong MS Excel 2010 sẽ hiển thị các ký tự không in trong một ô (ví dụ: khoảng trắng hoặc ký tự ngắt dòng được giới thiệu bằng cách nhấn Alt-Enter)?


2
bạn có thể đặt =IF(CLEAN(A1)=A1,"NA","Needs Cleaning")vào ô bên cạnh ô bên cạnh hoặc bạn có thể sử dụng định dạng có điều kiện bằng cách sử dụng ký hiệu char () (hoặc chr trong VBA) để tìm kiếm trả về carraige (char (13)) hoặc bất kỳ ký tự nào khác, ở đây là một liên kết đến các số char

Lý do của bạn là cần phải nhìn thấy chúng là gì? Trừ khi bạn chỉ muốn nhìn thấy chúng, có những cách chúng tôi có thể giúp bạn đạt được mục tiêu khác (ví dụ: xóa tất cả các ngắt dòng khỏi một cột của các ô)
PatKilg

Mục tiêu của việc hiển thị các ký tự không in chỉ đơn giản là để đọc bằng chứng nội dung của các ô. Vì nội dung là kỹ thuật và lợi nhuận vận chuyển là phổ biến (và dự kiến) trong đó, đây là điều cần phải được thực hiện bằng tay.
Freda K

@scott Cảm ơn rất nhiều về lưu ý về việc sử dụng SẠCH (). Chức năng đó sẽ rất hữu ích, mặc dù thật đáng buồn là sẽ không giúp ích cho nhu cầu cụ thể này.
Freda K

Nghe có vẻ như bạn đang sử dụng chương trình sai cho nhiệm vụ của mình, nhưng tôi hiểu rằng đôi khi có thể không thể tránh khỏi. Tại sao bạn không thể sử dụng bảng trong Microsoft Word? Điều đó nói rằng, tôi đặt một câu trả lời cho câu hỏi cụ thể dưới đây.
PatKilg

Câu trả lời:


3

Mặc dù bạn không thể hiển thị các ký tự đặc biệt trực tiếp trong ô, bạn có thể sử dụng công thức trong cột liền kề (được chèn) để thay thế Enters và Spaces bằng các ký tự bạn chọn!

Ví dụ

= SUBSTITUTE (A1; "
";"
¶
")
sẽ thay thế bất kỳ ngắt dòng nào bằng ký hiệu từ cho ngắt dòng. Và công thức lồng nhau
= SUBSTITUTE (SUBSTITUTE (A1; "
";"
¶
");" ";" _ ")
sẽ thay thế cả hai, không gian và nhập. (Lưu ý: để nhập "Enter" trong công thức, bạn cần nhấn Alt+Entertrong khi chỉnh sửa công thức.


Yêu công việc xung quanh, tại sao tôi không nghĩ về điều đó!
PatKilg

10

Cách dễ nhất để làm điều đó là chỉ cần thay đổi phông chữ thành phông chữ có glyph hiển thị tích hợp cho khoảng trắng (hoặc bất kỳ ký tự nào khác mà bạn có thể cần xác định)

Thật không may, tôi không có ví dụ hay về phông chữ như vậy để cung cấp cho bạn, nhưng rất dễ dàng để thêm một dấu chấm nhỏ vào phông chữ hiện có, sử dụng bất kỳ phần mềm chỉnh sửa phông chữ nào. Chỉ cần quên đổi tên phông chữ (không phải tệp phông chữ, mà là TÊN phông chữ bên trong tệp phông chữ) để dễ dàng phân biệt phông chữ tùy chỉnh này với phông chữ gốc nếu bạn đã cài đặt cả hai.

EDIT Cuối cùng tôi đã tìm thấy thời gian để tạo ra một phông chữ như vậy! Ở đây có DopedSpace Mono, dựa trên Bitstream Vera Sans Mono, nhưng với các không gian rải rác tích hợp:

http://github.com/tanusoft/DiatedSpaceMono


1
Tôi không thấy các nguồn cấp dữ liệu, ví dụ.
zylstra

4

CTRL + H thay thế tất cả các khoảng trắng bằng a ~ Điều này sẽ giúp nhanh chóng cho các không gian mà không cần lập trình và để đảo ngược chỉ cần thay thế ~ bằng "".

Chương trình tốt nhất tôi tìm thấy để so sánh các loại tệp này mà văn bản không hiển thị là Ultra Edit. Phải sử dụng nó để so sánh các tệp EDI, tệp giao diện, tải lên kỹ thuật, v.v. MS Office không được trang bị tốt cho nhiệm vụ.


Phương pháp này sẽ thay thế khoảng trắng, nhưng không phải tất cả các ký tự không in, ví dụ CHAR (10) (trả lại vận chuyển trong một ô, cũng đạt được bằng cách sử dụng Alt-Enter)
Freda K

1

Thay đổi phông chữ thành loại "Terminal" sẽ giúp bạn nhìn thấy và thay đổi chúng.


0

Không trả lời chính xác câu hỏi của bạn, nhưng tôi đặt định dạng số thành này:

;;;'@'

cho dấu ngoặc đơn, hoặc cái này

;;;\"@\"

cho dấu ngoặc kép. Đó là kết thúc trích dẫn xung quanh bất kỳ văn bản nhập. Tôi cũng đặt phông chữ thành Courier New (hoặc bất kỳ phông chữ có chiều rộng cố định nào khác).


0

1 Sử dụng tìm và nhập không gian

2 Thay thế Tất cả và nhập "[dấu cách]"

3 Tùy chọn: Nếu bạn cũng muốn làm nổi bật toàn bộ ô màu đỏ, chỉ cần sử dụng bộ chọn định dạng bên cạnh đó

Kết quả: Những không gian phiền phức đó sẽ lộ diện siêu rõ

Tại sao tôi cần phải làm điều này: Tôi đã sử dụng hàm COUNTA để tìm các ô không trống trong một cột. Tuy nhiên, nó đã trả lại một con số lớn hơn tôi mong đợi. Tôi đã gỡ lỗi từng ô một, và với sự kinh ngạc của tôi, một số ô trống dường như hiển thị COUNTA = 0 và các ô khác hiển thị COUNTA = 1 không có ý nghĩa gì. Tôi KHÔNG thể thấy sự khác biệt giữa hai. Nó chỉ ra một số lượng trống còn lại trong hàm đó, nhưng nó không hiển thị BẤT CỨ NƠI NÀO trong ô hoặc hộp nhập ở trên cùng.

Kết luận: Nếu bạn đang dựa vào COUNTA cho các nhiệm vụ quan trọng, bạn nên chắc chắn rằng nó không tính những không gian rắc rối mà bạn có thể không biết là có.


0

Tôi thường không cần VBA, vì vậy tôi thích làm excel trong 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


Nói chung, câu trả lời sẽ hữu ích hơn nhiều nếu chúng bao gồm một lời giải thích về những gì mã được dự định làm và tại sao điều đó giải quyết vấn đề mà không giới thiệu người khác.
MMM

Thực hiện một số chỉnh sửa, cảm ơn
Gleb S
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.