A recurring pattern I need to use in my formulas is
=IF(ISBLANK(A1), NA(), A1)
=IF(ISNUMBER(A1), A1, NA())
i.e. I want to treat empty cells as missing data, not as “zero” for the sake of arithmetic. The exception are functions with range arguments like SUM()
, where it is convenient to not explicitly handle empty rows in the range.
However, if I have something like =A1*C1
, I basically always want missing data to be treated as such. Writing each such expression as, e.g.
# formula hard to read
=IF(ISBLANK(A1), NA(), A1) * IF(ISBLANK(C1), NA(), C1)
# keeps turning on "array formula" mode, is long, is hard to edit compared to =A1*C1
=LET(a, IF(ISBLANK(A1), NA(), A1), b, IF(ISBLANK(C1), NA(), C1), a*b)
# hard to change, because it requires
# separate enumeration and usage of all references
=IF(OR(ISBLANK(A1), ISBLANK(C1)), NA(), A1*C1)
is a significant burden, and makes e.g. later correcting a complicated formula very hard.
Is there instead a way to tell LibreOffice Calc, ideally on a per-spreadsheet or even per-table basis, to consider empty cells as NA()?