Excel'de yazdırılmayan karakterleri görüntüleme veya görüntüleme


12

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)?


2
Eğer koyabilirsiniz =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ı

Onları görmenizin sebebi nedir? Onları görmek istemediğiniz sürece, başka bir hedefe ulaşmanıza yardımcı olmanın yolları vardır (örneğin, bir hücre sütunundaki tüm satır sonlarını kaldırın)
PatKilg

Yazdırılmayan karakterleri göstermenin amacı, basitçe hücrelerin içeriğini kanıtlamaktır. İçerik teknik olduğundan ve içinde taşıma iadeleri yaygın (ve beklenen) olduğundan, bu elle yapılması gereken bir şeydir.
Freda K

@scott CLEAN () kullanımıyla ilgili not için çok teşekkürler. Ne yazık ki bu özel ihtiyaç için yardımcı olmayacak olsa da, bu işlev çok yararlı olacaktır.
Freda K

Göreviniz için yanlış programı kullandığınız anlaşılıyor, ancak bunun zaman zaman kaçınılmaz olabileceğini anlıyorum. Microsoft Word'de neden tablo kullanamıyorsunuz? Bununla birlikte, bu özel soruya aşağıda bir cevap verdim.
PatKilg

Yanıtlar:


3

Ö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+Enterdüzenlerken tuşuna basmanız gerekir .


Etraftaki işi seviyorum, neden bunu düşünmedim!
PatKilg

10

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:

http://github.com/tanusoft/DottedSpaceMono


1
Örneğin, satır besleme görmüyorum.
zylstra

4

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.


Bu yöntem boşlukların yerine geçecektir, ancak yazdırılamayan tüm karakterlerin yerini alamaz, örneğin CHAR (10) (hücre içinde bir satır başı, ayrıca şu şekilde de elde edilir Alt-Enter)
Freda K

1

Yazı tipini "Terminal" türüne değiştirmek, onları görmenize ve değiştirmenize yardımcı olur.


0

Sorunuza tam olarak cevap vermiyor, ancak buna sayı biçimi ayarladım:

;;;'@'

tek tırnak işaretleri için, ya da bu

;;;\"@\"

çift ​​tırnak için. Girilen herhangi bir metnin etrafına alıntılar koyar. Yazı tipini Courier New (veya başka bir sabit genişlikli yazı tipi) olarak ayarladım.


0

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.


0

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


Genellikle, kodun ne yapmak istediği ve başkalarını tanıtmadan sorunu neden çözdüğüne dair bir açıklama içeriyorsa, cevaplar çok daha yararlıdır.
MMM

Bazı düzenlemeler yapıldı, teşekkürler
Gleb S
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.