Чи є в MS Excel 2010 варіант, який відображатиме символи, що не друкуються, у межах комірки (наприклад, пробіли або символ розриву рядків, введений натисканням клавіші Alt-Enter)?
Чи є в MS Excel 2010 варіант, який відображатиме символи, що не друкуються, у межах комірки (наприклад, пробіли або символ розриву рядків, введений натисканням клавіші Alt-Enter)?
Відповіді:
Хоча ви не можете показувати спеціальні символи безпосередньо в комірці, ви можете використовувати формулу в сусідньому (вставленому) стовпчику, щоб замінити Enters і Spaces на обрані вами символи!
Напр
= ЗАМИСЛЕННЯ (A1; " ";" ¶ ")замінить будь-який рядок рядка символом слова для розриву рядка. І вкладена формула
= СУБСТИТУТ (ЗАМОВЛЕННЯ (A1; " ";" ¶ ");" ";" _ ")замінить обидва, пробіл і ввійде. (Примітка. Щоб ввести формулу "Enter", вам потрібно натиснути
Alt+Enter
під час редагування формули.
Найпростіший спосіб зробити це - просто змінити шрифт на шрифт, який містить вбудований видимий гліф для простору (або будь-який інший символ, який вам може знадобитися для ідентифікації)
На жаль, я не маю жодного хорошого прикладу такого шрифту, щоб надати вам, але додати існуючий шрифт дуже легко, використовуючи будь-яке програмне забезпечення редактора шрифтів. Просто не забудьте перейменувати шрифт (не файл шрифту, а шрифт NAME всередині файлу шрифту), щоб легко відрізнити цей нестандартний шрифт від оригінального, якщо ви встановили обидва.
EDIT Я нарешті знайшов час зробити такий шрифт! Ось DottedSpace Mono, заснований на Bitstream Vera Sans Mono, але зі вбудованими пунктирними пробілами:
CTRL + H замінить усі пробіли на ~ Це допоможе швидко пробілів без програмування, а для зворотного переходу просто замініть ~ на "".
Найкраща програма, яку я знайшов для порівняння таких типів файлів, де текст не відображається, - це Ultra Edit. Довелося використовувати його для порівняння файлів EDI, файлів інтерфейсу, технічних завантажень тощо. MS Office просто недостатньо обладнаний для виконання завдання.
Alt-Enter
)
1 Використовуйте пошук і введіть пробіл
2 Замініть все та введіть "[пробіл]"
3 Необов’язково: Якщо ви також хочете виділити всю клітинку червоним кольором, просто використовуйте перемикач формату поруч із цим
Результат: Ці примхливі простори виявляться супер чітко
Чому мені потрібно було це зробити: Я використовував функцію COUNTA, щоб знайти непусті клітинки в стовпці. Однак він повертався на номер більший, ніж я очікував. Я налагоджував кожну клітинку по черзі, і на мій подив, деякі явно порожні клітини показали COUNTA = 0, а інші показали COUNTA = 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")
в клітці поруч з кліткою поруч з нею, або ви можете використовувати умовне форматування з використанням напівкоксу () (або Chr в VBA) позначень для пошуку провізних повертається (напівкокс (13)) або будь-якого іншого символу, тут є посилання на чарівні номери