Ho bisogno di restituire una cella vuota da una formula di Excel, ma sembra che Excel tratti una stringa vuota o un riferimento a una cella vuota in modo diverso da una vera cella vuota. Quindi essenzialmente ho bisogno di qualcosa come
=IF(some_condition,EMPTY(),some_value)
Ho provato a fare cose come
=IF(some_condition,"",some_value)
e
=IF(some_condition,,some_value)
e supponendo che B1 sia una cella vuota
=IF(some_condition,B1,some_value)
ma nessuna di queste sembra essere una vera cella vuota, immagino perché sono il risultato di una formula. C'è un modo per popolare una cella se e solo se qualche condizione è soddisfatta e altrimenti mantenere la cella veramente vuota?
EDIT: come consigliato, ho provato a restituire NA(), ma per i miei scopi neanche questo ha funzionato. C'è un modo per farlo con VB?
EDIT: sto costruendo un foglio di lavoro che estrae dati da altri fogli di lavoro che sono formattati secondo le richieste molto specifiche di un'applicazione che importa i dati in un database. Non ho accesso per cambiare l'implementazione di questa applicazione, e fallisce se il valore è "" invece che effettivamente vuoto.
Excel non ha alcun modo per farlo.
Il risultato di una formula in una cella in Excel deve essere un numero, un testo, un logico (booleano) o un errore. Non esiste un tipo di valore di cella formula di "empty" o "blank".
Una pratica che ho visto seguire è quella di usare NA() e ISNA(), ma questo può risolvere o meno il tuo problema poiché c'è una grande differenza nel modo in cui NA() è trattato da altre funzioni (SOMMA(NA()) è #N/A mentre SOMMA(A1) è 0 se A1 è vuoto).
Dovrai usare il VBA
, allora. Dovrai iterare sulle celle del tuo intervallo, testare la condizione e cancellare il contenuto se corrisponde.
Qualcosa come:
For Each cell in SomeRange
If (cell.value = SomeTest) Then cell.ClearContents
Next