Iz Excelove formule moram vrniti prazno celico, vendar se zdi, da Excel prazen niz ali sklic na prazno celico obravnava drugače kot resnično prazno celico. V bistvu torej potrebujem nekaj takega
=IF(some_condition,EMPTY(),some_value)
Poskušal sem narediti stvari, kot so
=IF(some_condition,"",some_value)
in
=IF(some_condition,,some_value)
in ob predpostavki, da je B1 prazna celica
=IF(some_condition,B1,some_value)
vendar se nobena od teh celic ne zdi prazna, domnevam, da zato, ker so rezultat formule. Ali obstaja kakšen način, da se celica napolni, če in samo če je izpolnjen nek pogoj, sicer pa ostane celica resnično prazna?
EDIT: po priporočilu sem poskusil vrniti NA(), vendar za moje namene tudi to ni delovalo. Ali obstaja kakšen način za to v VB?
EDIT: Ustvarjam delovni list, ki iz drugih delovnih listov črpa podatke, oblikovane v skladu s posebnimi zahtevami aplikacije, ki podatke uvozi v podatkovno zbirko. Nimam dostopa, da bi spremenil izvajanje te aplikacije, in ne uspe, če je vrednost "" namesto da bi bila dejansko prazna.
Excel tega ne omogoča na noben način.
Rezultat formule v celici v Excelu mora biti število, besedilo, logična (logična) vrednost ali napaka. V formuli ni vrste vrednosti celice "prazno" ali "prazno".
Ena od praks, ki sem jo zasledil, je uporaba funkcij NA() in ISNA(), vendar to lahko reši vaše vprašanje ali pa tudi ne, saj obstaja velika razlika v tem, kako NA() obravnavajo druge funkcije (SUM(NA()) je #N/A, medtem ko je SUM(A1) 0, če je A1 prazen).
V tem primeru boste morali uporabiti VBA
. Itiriral boš po celicah v svojem območju, preveril pogoj in izbrisal vsebino, če se ujemajo.
Nekaj takega:
For Each cell in SomeRange
If (cell.value = SomeTest) Then cell.ClearContents
Next
Poskusite oceniti celico z uporabo LEN
. Če vsebuje formulo, bo LEN
vrnil 0
. Če vsebuje besedilo, bo vrnil vrednost, večjo od 0
.