如何在Excel中显示或查看非打印字符?


12

MS Excel 2010中是否有一个选项将显示单元格中的非打印字符(例如,空格或按Alt-Enter引入的换行符)?


2
您可以=IF(CLEAN(A1)=A1,"NA","Needs Cleaning")在其旁边的单元格旁边放置一个单元格,也可以使用char()(或VBA中的chr)符号使用条件格式来搜索卡拉奇返回(char(13))或任何其他字符,是字符编号的链接

您需要看他们的原因是什么?除非您只希望看到它们,否则我们将有多种方法可以帮助您实现另一个目标(例如,删除一列单元格中的所有换行符)
PatKilg 2013年

显示非打印字符的目的仅仅是为了校对单元格的内容。由于内容是技术性的,并且回车在其中是常见的(并且是预期的),因此这需要手工完成。
Freda K

@scott非常感谢您有关使用CLEAN()的说明。该功能将非常有用,尽管遗憾的是该功能无法满足特定需求。
Freda K

听起来您在执行任务时使用了错误的程序,但是我知道有时这是不可避免的。为什么不能在Microsoft Word中使用表格?也就是说,我在下面回答了这个特定问题。
PatKilg

Answers:


3

虽然您不能直接在单元格中显示特殊字符,但是可以在相邻(插入)列中使用公式,用您选择的字符替换Enters和Spaces!

例如

= SUBSTITUTE(A1;“
“;”
¶
”)
将用换行符的单词符号替换任何换行符。和嵌套公式
= SUBSTITUTE(SUBSTITUTE(A1;“
“;”
¶
“);” “;” _“)
将同时替换空格和Enter。(注意:要在公式中输入“ Enter”,您需要Alt+Enter在编辑公式时按。


喜欢周围的工作,为什么我没想到呢!
PatKilg

10

最简单的方法是将字体更改为具有内置可见字形的字体(或您可能需要标识的任何其他字符)

不幸的是,我没有提供这种字体的任何很好的例子,但是使用任何字体编辑器软件在现有字体中添加一个小点非常容易。只是不要忘记重命名字体(不是字体文件,而是字体文件中的字体NAME),因此,如果同时安装了这两种自定义字体,则很容易将其与原始字体区分开。

编辑我终于找到了制作这种字体的时间!这是基于Bitstream Vera Sans Mono的DottedSpace Mono,但具有内置的虚线空间:

http://github.com/tanusoft/DottedSpaceMono


1
例如,我看不到换行符。
zylstra

4

CTRL + H用〜替换所有空格,这将快速帮助您无需编程即可使用空格,相反,只需将〜替换为“”即可。

我发现比较这些未显示文本的文件类型的最佳程序是Ultra Edit。不得不用它来比较EDI文件,接口文件,技术上载等。MS Office只是不能很好地完成任务。


此方法将替换空格,但不会替换所有非打印字符,例如CHAR(10)(单元格中的回车符,也可以使用来实现Alt-Enter
Freda K

1

将字体更改为“ Terminal”类型可以帮助您查看和更改它们。


0

不能完全回答您的问题,但是我为此设置了数字格式:

;;;'@'

单引号或

;;;\"@\"

双引号。这将引号引起来的所有文字都包含在内。我还将字体设置为Courier New(或任何其他固定宽度的字体)。


0

1使用查找并输入空间

2执行全部替换并输入“ [空格]”

3可选:如果您也要用红色突出显示整个单元格,只需使用旁边的格式选择器

结果:那些令人讨厌的空间将非常清晰地展现自己

为什么需要这样做:我使用COUNTA函数在列中查找非空白单元格。但是,它返回的数字比我预期的大。我逐个调试每个单元格,令我惊讶的是,一些显然空白的单元格显示COUNTA = 0,而另一些显示的COUNTA = 1,这是没有意义的。我看不到两者之间的区别。原来,该函数中只有一个剩余的空白计数,但是在顶部的单元格或输入框中都看不到。

结论:如果您要依靠COUNTA来完成重要任务,则最好确保它没有计算那些您可能不知道的麻烦空间。


0

我通常不需要VBA,因此我更喜欢在python + openpyxl中进行excel处理

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.