Як відобразити чи переглянути друковані символи в Excel?


12

Чи є в MS Excel 2010 варіант, який відображатиме символи, що не друкуються, у межах комірки (наприклад, пробіли або символ розриву рядків, введений натисканням клавіші Alt-Enter)?


2
Ви можете помістити =IF(CLEAN(A1)=A1,"NA","Needs Cleaning")в клітці поруч з кліткою поруч з нею, або ви можете використовувати умовне форматування з використанням напівкоксу () (або Chr в VBA) позначень для пошуку провізних повертається (напівкокс (13)) або будь-якого іншого символу, тут є посилання на чарівні номери

Яка ваша причина потребувати їх побачити? Якщо ви просто не хочете їх бачити, є способи, які ми могли б допомогти вам досягти іншої мети (наприклад, видалити всі розриви рядків зі стовпчика комірок)
PatKilg

Мета відображення символів, що не друкуються, - просто перевірити зчитування вмісту комірок. Оскільки вміст технічний, а повернення перевезень є загальним (і очікуваним) всередині нього, це потрібно зробити вручну.
Фреда К

@scott Дякую за записку про використання CLEAN (). Ця функція буде дуже корисною, хоча, на жаль, не допоможе для цієї конкретної потреби.
Фреда К

Здається, ви використовуєте неправильну програму для свого завдання, але я розумію, що часом це неминуче. Чому ви не можете використовувати таблицю в Microsoft Word? З цього приводу я відповів на це конкретне питання нижче.
PatKilg

Відповіді:


3

Хоча ви не можете показувати спеціальні символи безпосередньо в комірці, ви можете використовувати формулу в сусідньому (вставленому) стовпчику, щоб замінити Enters і Spaces на обрані вами символи!

Напр

= ЗАМИСЛЕННЯ (A1; "
";"
¶
")
замінить будь-який рядок рядка символом слова для розриву рядка. І вкладена формула
= СУБСТИТУТ (ЗАМОВЛЕННЯ (A1; "
";"
¶
");" ";" _ ")
замінить обидва, пробіл і ввійде. (Примітка. Щоб ввести формулу "Enter", вам потрібно натиснути Alt+Enterпід час редагування формули.


Люблю роботу навколо, чому я не придумав цього!
PatKilg

10

Найпростіший спосіб зробити це - просто змінити шрифт на шрифт, який містить вбудований видимий гліф для простору (або будь-який інший символ, який вам може знадобитися для ідентифікації)

На жаль, я не маю жодного хорошого прикладу такого шрифту, щоб надати вам, але додати існуючий шрифт дуже легко, використовуючи будь-яке програмне забезпечення редактора шрифтів. Просто не забудьте перейменувати шрифт (не файл шрифту, а шрифт NAME всередині файлу шрифту), щоб легко відрізнити цей нестандартний шрифт від оригінального, якщо ви встановили обидва.

EDIT Я нарешті знайшов час зробити такий шрифт! Ось DottedSpace Mono, заснований на Bitstream Vera Sans 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

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


Як правило, відповіді набагато корисніші, якщо вони включають пояснення того, що призначений для виконання коду та чому це вирішує проблему, не вводячи інших.
МММ

Зробив кілька
Гліб S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.