MS Excel 2010'da, bir hücrenin içinde yazdırılmayan karakterleri görüntüleyecek bir seçenek var mı (örn. Boşluklar veya Alt-Enter tuşuna basılarak girilen satır sonu karakteri)?
MS Excel 2010'da, bir hücrenin içinde yazdırılmayan karakterleri görüntüleyecek bir seçenek var mı (örn. Boşluklar veya Alt-Enter tuşuna basılarak girilen satır sonu karakteri)?
Yanıtlar:
Özel karakterleri doğrudan hücrede gösteremeseniz de, Girilenler ve Boşlukları istediğiniz karakterlerle değiştirmek için bitişik (eklenen) sütunda bir formül kullanabilirsiniz!
Örneğin
= YERİNE (A1;" ";" ¶ ")herhangi bir satır kesmesinin yerine satır sonu kelimesinin sembolü gelir. Ve iç içe formül
= YERİNE (YEDEK (A1;" ";" ¶ ");" ";," _ ")ikisinin de yerini alacak, boşluk ve enter. (Not: formüle "Enter" girmek için formülü
Alt+Enter
düzenlerken tuşuna basmanız gerekir .
Bunu yapmanın en kolay yolu, yazı tipini boşluk için yerleşik bir görünür glifi (veya tanımlamanız gerekebilecek herhangi bir karakter) olan bir yazı tipiyle değiştirmektir.
Ne yazık ki, size sağlamak için böyle bir yazı tipine iyi bir örnek yok, ancak herhangi bir yazı tipi düzenleyici yazılımı kullanarak mevcut bir yazı tipine küçük bir nokta eklemek çok kolay. Yazı tipini (yazı tipi dosyasını değil, yazı tipi dosyasının içindeki NAME yazı tipini) yeniden adlandırmayı unutmayın, böylece her ikisini de yüklediyseniz bu özel yazı tipini orijinalinden ayırt etmek kolaydır.
EDIT Sonunda böyle bir yazı tipi yapmak için zaman buldum! Bitstream Vera Sans Mono tabanlı ancak yerleşik noktalı boşlukları olan DottedSpace Mono geliyor:
CTRL + H, tüm boşlukları bir ~ ile değiştirir. Bu, programlama yapılmayan boşluklar için hızlı bir şekilde yardımcı olur ve ~ ile "" yerine geri döndürür.
Metnin görüntülenmediği bu tür dosyaları karşılaştırmak için bulduğum en iyi program Ultra Edit. EDI Dosyaları, arayüz dosyaları, teknik yüklemeler vb karşılaştırmak için kullanmak zorunda kaldı. MS Office sadece görev için iyi donanımlı değildir.
Alt-Enter
)
1 Bul ve boşluk gir
2 Tümünü Değiştir'i yapın ve "[boşluk]" yazın
3 İsteğe bağlı: Tüm hücreyi de kırmızı ile vurgulamak istiyorsanız, bunun yanındaki biçim seçiciyi kullanın
Sonuç: Bu sinir bozucu alanlar kendilerini çok net bir şekilde ortaya çıkaracak
Bunu neden yapmam gerekiyordu: Bir sütunda boş olmayan hücreleri bulmak için COUNTA işlevini kullandım. Ancak beklediğimden daha büyük bir sayı döndürüyordu. Her hücreyi tek tek ayıkladım ve şaşkınlığımla, görünüşe göre boş hücreler COUNTA = 0 gösterdi, diğerleri ise COUNTA = 1 gösterdi, bu da anlamsızdı. İkisi arasındaki farkı göremedim. Bu işlevde kalan tek bir boş sayı ortaya çıkıyor, ancak hücrede veya üstteki giriş kutusunda HERHANGİ BİR YERDE görünmüyor.
Sonuç: Önemli görevler için COUNTA'ya güveniyorsanız, orada olduğunu bilemeyeceğiniz sıkıntılı alanları saymadığınızdan emin olsanız iyi olur.
Genellikle VBA'ya ihtiyacım yok, bu yüzden python + openpyxl'de excel şeyler yapmayı tercih ederim
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")
yanında hücrenin yanındaki hücrede veya koşullu carraige getiriler (char (13)) veya başka bir karakteri aramak için gösterim (VBA veya chr) char () kullanarak biçimlendirme kullanabilirsiniz, burada olduğu char numaralarına bir bağlantı