Bagaimana cara menampilkan atau melihat karakter non-cetak di Excel?

12

Apakah ada opsi di MS Excel 2010 yang akan menampilkan karakter yang tidak dicetak dalam sel (mis. Spasi atau karakter linebreak yang diperkenalkan dengan menekan Alt-Enter)?

Freda K
sumber
2
Anda dapat memasukkan =IF(CLEAN(A1)=A1,"NA","Needs Cleaning")sel di sebelah sel di sebelahnya, atau Anda dapat menggunakan pemformatan bersyarat menggunakan notasi char () (atau chr dalam VBA) untuk mencari pengembalian carraige (char (13)) atau karakter lain, di sini adalah tautan ke nomor char
Apa alasan Anda perlu melihatnya? Kecuali jika Anda hanya ingin melihatnya, ada beberapa cara kami mungkin dapat membantu Anda mencapai tujuan lain (misalnya, menghapus semua jeda baris dari kolom sel)
PatKilg
Tujuan menampilkan karakter yang tidak dicetak hanyalah untuk membaca-bukti isi sel. Karena konten bersifat teknis dan pengembalian carriage merupakan hal umum (dan diharapkan) di dalamnya, ini adalah sesuatu yang perlu dilakukan dengan tangan.
Freda K
@scott Terima kasih banyak untuk catatan tentang penggunaan CLEAN (). Fungsi itu akan sangat berguna, meskipun sayangnya tidak akan membantu untuk kebutuhan khusus ini.
Freda K
Kedengarannya Anda menggunakan program yang salah untuk tugas Anda, tetapi saya mengerti bahwa hal itu terkadang tidak dapat dihindari. Mengapa Anda tidak bisa menggunakan tabel di Microsoft Word? Yang mengatakan, saya memberikan jawaban untuk pertanyaan khusus di bawah ini.
PatKilg

Jawaban:

3

Meskipun Anda tidak dapat menampilkan karakter khusus langsung di sel, Anda bisa menggunakan rumus di kolom yang berdekatan (disisipkan) untuk mengganti Enters dan Spaces dengan karakter pilihan Anda!

Misalnya

= SUBSTITUTE (A1; "
";"
¶
")
akan mengganti linebreak apa pun dengan simbol kata untuk jeda baris. Dan formula bersarang
= SUBSTITUTE (SUBSTITUTE (A1; "
";"
¶
");" ";" _ ")
akan menggantikan keduanya, spasi dan masuk. (Catatan: untuk memasukkan "Enter" dalam formula, Anda perlu menekan Alt+Entersaat mengedit formula.

Peter Albert
sumber
Suka bekerja di sekitar, mengapa saya tidak memikirkan itu!
PatKilg
10

Cara termudah untuk melakukannya adalah dengan hanya mengubah font ke font yang memiliki mesin terbang terlihat built-in untuk ruang (atau karakter lain yang Anda mungkin perlu mengidentifikasi)

Sayangnya, saya tidak memiliki contoh font semacam itu untuk Anda, tetapi sangat mudah untuk menambahkan titik kecil ke font yang ada, menggunakan perangkat lunak editor font apa pun. Hanya saja, jangan lupa untuk mengganti nama font (bukan file font, tetapi font NAME di dalam file font), sehingga mudah untuk membedakan font khusus ini dari yang asli jika Anda sudah menginstal keduanya.

EDIT Saya akhirnya menemukan waktu untuk membuat font seperti itu! Di sinilah DottedSpace Mono, berdasarkan Bitstream Vera Sans Mono, tetapi dengan ruang bertitik built-in:

http://github.com/tanusoft/DottedSpaceMono

Christophe Franco
sumber
1
Saya tidak melihat umpan baris, misalnya.
zylstra
4

CTRL + H ganti semua spasi dengan ~ ini akan membantu dengan cepat untuk spasi tanpa pemrograman, dan untuk membalikkan cukup ganti ~ dengan "".

Program terbaik yang saya temukan untuk membandingkan jenis file ini di mana teks tidak ditampilkan adalah Ultra Edit. Harus menggunakannya untuk membandingkan File EDI, file antarmuka, upload teknis dll. MS Office tidak dilengkapi dengan baik untuk tugas tersebut.

Cam Fairweather
sumber
Metode ini akan menggantikan spasi, tetapi tidak semua karakter non-cetak, misalnya CHAR (10) (carriage return dalam sel, juga dicapai menggunakan Alt-Enter)
Freda K
1

Mengubah font ke tipe "Terminal" akan membantu Anda melihat dan mengubahnya.

Labu
sumber
0

Tidak persis menjawab pertanyaan Anda, tetapi saya mengatur format angka untuk ini:

;;;'@'

untuk kutipan tunggal, atau ini

;;;\"@\"

untuk kutipan ganda. Itu membungkus kutipan di sekitar teks yang dimasukkan. Saya juga mengatur font ke Courier New (atau font dengan lebar tetap lainnya).

Pucat
sumber
0

1 Gunakan temukan dan masukkan spasi

2 Lakukan Ganti Semua dan ketik "[spasi]"

3 Opsional: Jika Anda juga ingin menyorot seluruh sel dalam warna merah, cukup gunakan pemilih format di sebelahnya

Hasil: Ruang-ruang sial itu akan mengungkapkan diri mereka dengan sangat jelas

Mengapa saya perlu melakukan ini: Saya menggunakan fungsi COUNTA untuk menemukan sel yang tidak kosong dalam sebuah kolom. Namun itu mengembalikan angka yang lebih besar dari yang saya harapkan. Saya menukar setiap sel satu per satu, dan yang mengejutkan saya, beberapa sel yang tampaknya kosong menunjukkan COUNTA = 0 dan yang lainnya menunjukkan COUNTA = 1 yang tidak masuk akal. Saya TIDAK bisa melihat perbedaan antara keduanya. Ternyata sisa tunggal kosong dihitung dalam fungsi itu, tapi itu tidak terlihat DI MANA SAJA di sel atau kotak entri di bagian atas.

Kesimpulan: Jika Anda mengandalkan COUNTA untuk tugas-tugas penting, Anda sebaiknya memastikan itu tidak termasuk ruang yang merepotkan yang mungkin tidak Anda ketahui ada di sana.

Jean Goulet
sumber
0

Saya biasanya tidak membutuhkan VBA, jadi saya lebih suka melakukan hal-hal excel di 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

Gleb S
sumber
Secara umum, jawaban akan jauh lebih membantu jika mereka menyertakan penjelasan tentang apa yang dimaksudkan untuk dilakukan oleh kode, dan mengapa hal itu memecahkan masalah tanpa memperkenalkan orang lain.
MMM
Buat beberapa perubahan, terima kasih
Gleb S