MS Excel 2010には、セル内に非印刷文字を表示するオプションがありますか(たとえば、スペースまたはAlt-Enterキーを押して導入された改行文字)。
MS Excel 2010には、セル内に非印刷文字を表示するオプションがありますか(たとえば、スペースまたはAlt-Enterキーを押して導入された改行文字)。
回答:
セルに特殊文字を直接表示することはできませんが、隣接する(挿入された)列の数式を使用して、EntersとSpacesを選択した文字に置き換えることができます!
例えば
= SUBSTITUTE(A1; " 「;」 ¶ ")改行を改行の単語シンボルで置き換えます。そしてネストされた式
= SUBSTITUTE(SUBSTITUTE(A1; " 「;」 ¶ 「);」";" _ ")スペースとエンターの両方を置き換えます。(注:数式に「Enter」を入力するには、数式の
Alt+Enter
編集中にを押す必要があります。
最も簡単な方法は、フォントを、スペース用の組み込みの表示グリフ(または識別が必要な他の文字)を持つフォントに変更することです。
残念ながら、このようなフォントの良い例はありませんが、フォントエディタソフトウェアを使用して既存のフォントに小さなドットを簡単に追加できます。フォントの名前を変更することを忘れないでください(フォントファイルではなく、フォントファイル内のフォントNAME)。両方をインストールしている場合、このカスタムフォントを元のフォントと簡単に区別できます。
編集私は最終的にそのようなフォントを作る時間を見つけました!Bitstream Vera Sans Monoに基づいたDottedSpace Monoが登場しますが、点線スペースが組み込まれています:
CTRL + Hは、すべてのスペースを〜で置き換えます。これにより、プログラミングせずにスペースをすばやく見つけ、〜を ""で置き換えるだけで元に戻すことができます。
テキストが表示されないこれらのタイプのファイルを比較するために見つけた最高のプログラムは、ウルトラエディットです。EDIファイル、インターフェースファイル、技術的なアップロードなどを比較するためにそれを使用しなければなりませんでした。MSOfficeはタスクに十分に対応していません。
Alt-Enter
)
1 検索を使用してスペースを入力
2 すべて置換して「[スペース]」と入力します
3オプション:セル全体も赤で強調表示する場合は、その横にある形式セレクターを使用します
結果:これらの厄介なスペースは、自分自身を非常にはっきりと明らかにします
なぜこれを行う必要があったのですか:列内の非空白セルを見つけるためにCOUNTA関数を使用しました。しかし、予想よりも大きな数を返していました。私は各セルを1つずつデバッグしましたが、驚いたことに、空のセルにはCOUNTA = 0が表示され、他のセルにはCOUNTA = 1が表示され、意味がありません。両者の違いは見えませんでした。この関数では、残りの空白が1つだけカウントされますが、セルまたは上部の入力ボックスのどこにも表示されません。
結論:重要なタスクをCOUNTAに依存している場合、そこにあるとは知らないかもしれない厄介なスペースをカウントしていないことを確認する必要があります。
私は通常VBAを必要としないので、私は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
=IF(CLEAN(A1)=A1,"NA","Needs Cleaning")
、その隣のセルの隣のセルに、またはあなたは条件付きでcarraigeリターン(CHAR(13))、または他の文字を検索するための表記法を(VBAまたはCHR)CHAR()を使用して書式を使用することができ、ここにあります文字番号へのリンク