2012-12-06 21:09:17 +0000 2012-12-06 21:09:17 +0000
27
27

Visualizzare il vuoto quando si fa riferimento a una cella vuota in Excel 2010

Ho una cartella di lavoro Excel 2010 che contiene una serie di fogli di lavoro individuali. Le celle di uno dei fogli sono collegate a singole celle su altri due fogli di lavoro nella stessa cartella di lavoro. Sto usando un riferimento diretto alla cella che essenzialmente dice che qualsiasi valore sia inserito in una particolare cella su un foglio popola anche le celle su altri due fogli. Ho usato la funzione (=) con il riferimento di cella per realizzare questo.

Il problema che sto incontrando è che, anche quando la cella primaria viene lasciata vuota, le celle che si popolano da quella cella primaria visualizzano 0, invece di rimanere vuote esse stesse.

Voglio che le celle subordinate rimangano vuote se la cella primaria a cui sono collegate è vuota.

Risposte (17)

51
51
51
2015-04-28 04:56:10 +0000

Dovete forzare Excel a trattare il contenuto della cella come un valore di testo invece che come un numero, cosa che fa automaticamente con i valori vuoti.

=A2 & ""

Questo forzerà Excel a rendere quel riferimento di cella un valore di testo, evitando così la conversione degli spazi vuoti in zeri.

18
18
18
2012-12-06 21:30:16 +0000

Ecco tre risposte:

1) Lasciando che other.cell.reference rappresenti la formula di riferimento che hai attualmente dopo lo = (per esempio,  Sheet17!$H$42), sostituisci quel riferimento di collegamento con

=IF(other.cell.reference<>"",other.cell.reference, "")

2) Imposta il formato “Number” delle tue celle collegate su “Custom”: General;–General;.

3) In “Opzioni Excel”, pagina “Avanzate”, sezione “Opzioni di visualizzazione per questo foglio di lavoro”, deselezionate la casella di controllo “Mostra uno zero nelle celle che hanno un valore zero”.

4
4
4
2015-04-28 04:19:06 +0000

Se i vostri dati di riferimento sono solo di tipo numerico (non testo) o vuoti, e potete avere degli 0, allora questo è il mio approccio preferito, inserendo la formula solo una volta. Certo, un modo un po’ indiretto, ma è il migliore, credo, perché:

  • non hai bisogno di celle extra per mettere la formula e poi fare riferimento alle seconde celle
  • non hai bisogno di digitare la formula due volte
  • questo metodo differenzia tra un valore zero e una cella vuota
  • non richiede VBA
  • non richiede Named Ranges

Downfall : Se avete bisogno di dati di testo restituiti, questo non funzionerà. Per i dati di testo il mio metodo preferito è usare il formato numerico come menzionato in altre risposte sopra.

=IFERROR((A1 & "") * 1,"")

A1 in questo caso può essere sostituito da qualsiasi cella, incluso un altro foglio, cartella di lavoro, o INDIRECT().

Note su come funziona:
IFERROR() - il secondo argomento è impostato su una stringa vuota, quindi se si verifica un errore otteniamo una stringa vuota. Quindi dobbiamo assicurarci che se la cella d'origine è vuota, viene generato un errore.

Metodo numerico : Stringi il valore sorgente, poi moltiplica per 1. Stringa letterale emtpy * 1 = #VALORE, la stringa con il numerico viene auto-convertita in numerico e non si verifica alcun errore.

4
4
4
2015-06-08 10:22:15 +0000

C'è un altro trucco: impostare la cella vuota soucre sulla formula ="". Vedi la descrizione dettagliata qui.

2
2
2
2014-07-25 12:35:30 +0000

Anch'io non ho trovato una soluzione migliore di quella di Scott.

Ma combinato con l'approccio di qui potrebbe essere quasi sopportabile, penso: http://www.ozgrid.com/Excel/named-formulas.htm

Diciamo che ho una formula come questa

= IFERROR( INDEX(INDIRECT("EsZkouska");
  SMALL(IF((INDEX(INDIRECT("EsZkouska");;1‌​;1)="ČSN721180")*(INDEX(INDIRECT("EsZkouska");;9;1)="RC_P_B");
  ROW(INDIRECT"EsZkouska"))-MIN(ROW(INDIRECT("EsZkouska")))+1;"");1);17;1);"")

Questa formula legge il valore della cella da un foglio dati usando la selezione condizionale e lo presenta su un altro foglio. Non ho nessun controllo sulla formattazione delle celle sul foglio dati.

Vado in Inserisci > Nome > Definisci e in “Nomi nella cartella di lavoro” creo un nuovo nome “RC_P_B”. Poi nel campo “Riferimenti a” copio la mia formula (senza caratteri {} - è una formula di matrice).

Poi puoi usare la formula di Scott senza dover ripetere tutto il testo della formula:

{=IF(RC_P_B<>""; RC_P_B;"---")}

Credo che questo sia meglio che copiare l'intera formula.

2
2
2
2014-11-09 06:28:11 +0000

Semplicemente non uso una formula per superare questo problema. Tutto quello che faccio è formattare condizionatamente le celle con il colore del carattere bianco se il valore della cella è uguale a 0.

1
1
1
2015-06-11 03:35:03 +0000

Ho cercato a lungo una soluzione elegante a questo problema.

Ho usato la formula =if(a2=“”,“”,a2) per anni, ma la trovo un po’ macchinosa.

Ho provato il suggerimento di cui sopra =a2&“” e anche se sembra funzionare, mostra un numero che in realtà è testo, quindi la formattazione dei numeri non può essere applicata e nessuna operazione statistica funziona, come somma, media, mediana, ecc.

Ho sperimentato alcune delle altre funzioni e ho trovato quella che penso sia la soluzione più elegante fino ad oggi. Continuando l'esempio precedente:

=CELL(“contents”,A2)

restituisce un valore numerico che può essere formattato come un numero e restituisce uno spazio vuoto quando la cella di riferimento è vuota. Per qualche ragione, questa soluzione non sembra apparire in nessuno dei suggerimenti online che ho trovato, ma

1
1
1
2017-06-22 12:20:12 +0000

Soluzione per Excel 2010:

  1. Aprire “File”
  2. Premi “Opzioni”
  3. Clicca su “Avanzate”
  4. Sotto “Opzioni di visualizzazione” per questo foglio di lavoro “BBBB”
  5. Deseleziona la casella “Mostra un valore zero per le celle che hanno un valore zero”.
1
1
1
2012-12-06 21:30:05 +0000

Se la cella collegata non è numerica potete usare una dichiarazione IF con ISTEXT:

=IF(ISTEXT(Sheet1!A2), Sheet1!A2, "")
0
0
0
2018-04-22 16:42:25 +0000

Ho usato la formattazione condizionale per formattare il carattere per essere dello stesso colore dello sfondo della cella dove il valore della cella era uguale a zero.

0
0
0
2016-01-08 17:33:14 +0000
Public Function FuncDisplayStringNoValue(MyCell As Variant) As String

Dim Result As Variant

If IsEmpty(MyCell) Then

   FuncDisplayStringNoValue = "No Value"

Else
   Result = CDec(MyCell)

   Result = Round(Result, 2)

   FuncDisplayStringNoValue = "" & Result

   End If

End Function
-1
-1
-1
2015-03-17 20:24:48 +0000

Quello che ha funzionato per me in Office 2013 era:

=IF(A2=""," ",A2)

Dove sul primo set di citazioni non c'è spazio, e sul secondo set c'è uno spazio.

Spero che questo aiuti

-1
-1
-1
2016-08-13 21:40:08 +0000

Tutte queste soluzioni sono troppo complicate per me e mi rendo conto che questo potrebbe non essere fattibile per tutte le applicazioni, ma io riempio semplicemente il campo sorgente con uno spazio vuoto e ottengo uno spazio vuoto nel campo destinazione.

-1
-1
-1
2015-07-15 15:20:22 +0000

Ho avuto un problema simile e credo di aver trovato un metodo per voi. Ha risolto i miei problemi.

Se vuoi che la colonna C faccia riferimento alla colonna A, e scrivi solo una formula per la cella di riferimento, dovresti usare questo e trascinare giù la colonna.

=A1

Tuttavia, ci possono essere celle di origine nella colonna A che sono vuote e devono rimanere vuote nelle celle di riferimento nella colonna C, potete usare questo e trascinare la colonna verso il basso.

=T(A1)

Per quanto riguarda la formattazione delle celle, il riferimento (colonna C) dovrà essere generale.

-1
-1
-1
2018-01-29 12:01:59 +0000

Ho una soluzione che funziona per me:

IF(cell reference="","",cell reference)

Spiegazione:

"" è uguale alla cella vuota. Ora giro solo l'if. Se la cella è vuota, la rendo vuota, altrimenti uso il riferimento alla cella.

-1
-1
-1
2015-11-30 05:58:52 +0000

Soluzione:
=IF('Wk1 Data-replace w dt bgn & end'!C2>0, 'Wk1 Data-replace w dt bgn & end'!C2, "")

Spiegazione: Per risolvere questo problema ho usato due serie di comandi If.

Parte uno del comando: Ho detto alla cella di visualizzare il contenuto della cella di riferimento se la cella di riferimento conteneva dati (Excel lo interpreta come se la cella avesse un valore maggiore di 0)

Parte due del comando: Gli ho detto come comportarsi se non c'erano dati; “” significa lasciare vuoto

Nota: Wk1 Data-replace w dt bgn & end’!C2 è la mia cella di riferimento.

-2
-2
-2
2015-09-25 19:33:35 +0000

Vai su Formattare le celle.

Poi selezionate il formato personalizzato, e inserite quanto segue:0;-0;;@