2013-01-07 18:44:11 +0000 2013-01-07 18:44:11 +0000
12
12

Come mostrare o visualizzare i caratteri non stampati in Excel?

C'è un'opzione in MS Excel 2010 che mostrerà i caratteri non stampati all'interno di una cella (ad esempio gli spazi o il carattere di interruzione di riga introdotto premendo Alt-Enter)?

Risposte (7)

10
10
10
2013-05-17 13:12:55 +0000

Il modo più semplice per farlo è semplicemente cambiare il font con un font che abbia un glifo visibile incorporato per lo spazio (o qualsiasi altro carattere che potresti aver bisogno di identificare)

Sfortunatamente, non ho nessun buon esempio di un tale font da fornirti, ma è molto facile aggiungere un piccolo punto a un font esistente, usando qualsiasi software di editor di font. Basta non dimenticare di rinominare il font (non il file del font, ma il NOME del font all'interno del file del font), in modo che sia facile distinguere questo font personalizzato da quello originale se li avete entrambi installati.

EDIT Ho finalmente trovato il tempo di fare un font del genere! Ecco a voi DottedSpace Mono, basato su Bitstream Vera Sans Mono, ma con gli spazi punteggiati incorporati: http://github.com/tanusoft/DottedSpaceMono

4
4
4
2016-01-21 02:01:28 +0000

CTRL+H sostituisci tutti gli spazi con un ~ Questo aiuterà rapidamente per gli spazi senza programmazione, e per invertire basta sostituire ~ con “ ”.

Il miglior programma che ho trovato per confrontare questi tipi di file dove il testo non viene visualizzato è Ultra Edit. Ho dovuto usarlo per confrontare file EDI, file di interfaccia, upload tecnici, ecc. MS Office semplicemente non è ben equipaggiato per questo compito.

3
3
3
2013-01-08 19:18:04 +0000

Mentre non potete mostrare i caratteri speciali direttamente nella cella, potreste usare una formula nella colonna adiacente (inserita) per sostituire gli Inchiostri e gli Spazi con caratteri di vostra scelta!

Per esempio

=SUBSTITUTE(A1;" ";" ¶ ")

sostituirebbe qualsiasi interruzione di riga con il simbolo della parola per l'interruzione di riga. E la formula annidata =SUBSTITUTE(SUBSTITUTE(A1;" ";" ¶ ");" ";"\_") sostituirà entrambi, spazio e enter. (Nota: per inserire un “Enter” nella formula, dovete premere Alt+Enter mentre modificate la formula.

1
1
1
2016-03-08 14:55:45 +0000

Cambiare il carattere con il tipo “Terminale” ti aiuterebbe a vederli e a modificarli.

0
0
0
2018-04-07 01:38:46 +0000

1 Usa find e inserisci lo spazio

2 Fai Replace All e scrivi “[s-p-a-c-e]”

3 Opzionale: Se vuoi anche evidenziare l'intera cella in rosso, basta usare il selettore di formato accanto a quello

Risultato: Quei fastidiosi spazi si riveleranno molto chiaramente

Perché avevo bisogno di farlo: Ho usato la funzione COUNTA per trovare celle non vuote in una colonna. Tuttavia stava restituendo un numero più grande di quanto mi aspettassi. Ho eseguito il debug di ogni cella una per una e, con mio grande stupore, alcune celle apparentemente vuote mostravano COUNTA=0 e altre mostravano COUNTA=1, il che non ha senso. Non potevo vedere la differenza tra i due. Risulta che un singolo avanzo di bianco conta in quella funzione, ma non è visibile da nessuna parte né nella cella né nella casella di inserimento in alto.

Conclusione: Se vi affidate a COUNTA per compiti importanti, è meglio che siate sicuri che non stia contando quei fastidiosi spazi che forse non sapete che ci sono.

0
0
0
2019-12-06 06:55:35 +0000

Di solito non ho bisogno di VBA, quindi preferisco fare le cose di excel in 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
0
0
0
2017-01-24 19:38:05 +0000

Non risponde esattamente alla tua domanda, ma ho impostato il formato dei numeri in questo modo:

;;;'@'

per le virgolette singole, o questo

;;;\"@\"

per le virgolette doppie. Questo avvolge le virgolette intorno a qualsiasi testo inserito. Ho anche impostato il font su Courier New (o qualsiasi altro font a larghezza fissa).