blob: 6c6889029f3b29a3a0c678640c8560860075a982 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
***********************************************************-->
<helpdocument version="1.0">
<meta>
<topic id="textscalc05empty_cellsxml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Handling of Empty Cells</title>
<filename>/text/scalc/05/empty_cells.xhp</filename>
</topic>
</meta>
<body>
<bookmark xml-lang="en-US" branch="index" id="bm_id3146799"><bookmark_value>empty cells;handling of</bookmark_value>
</bookmark><comment>i86303</comment><paragraph role="heading" id="hd_id1502121" xml-lang="en-US" level="1" l10n="NEW"><variable id="empty_cells"><link href="text/scalc/05/empty_cells.xhp">Handling of Empty Cells</link>
</variable></paragraph>
<paragraph role="paragraph" id="par_id8266853" xml-lang="en-US" l10n="NEW">In older versions of the software, empty cells were forced to numeric 0 in some contexts and to empty string in others, except in direct comparison where =A1=0 and =A1="" both resulted in TRUE if A1 was empty. Emptiness now is inherited until used, so both =VLOOKUP(...)=0 and =VLOOKUP(...)="" give TRUE if the lookup resulted in an empty cell being returned. </paragraph>
<paragraph role="paragraph" id="par_id2733542" xml-lang="en-US" l10n="NEW">A simple reference to an empty cell is still displayed as numeric 0 but is not necessarily of type numeric anymore, so also comparisons with the referencing cell work as expected. </paragraph>
<paragraph role="paragraph" id="par_id4238715" xml-lang="en-US" l10n="NEW">For the following examples, A1 contains a number, B1 is empty, C1 contains the reference to B1:</paragraph>
<paragraph role="code" id="par_id8277230" xml-lang="en-US" l10n="NEW">A1: 1 B1: &lt;empty&gt; C1: =B1 (displays 0)</paragraph>
<paragraph role="code" id="par_id4086428" xml-lang="en-US" l10n="NEW">=B1=0 =&gt; TRUE</paragraph>
<paragraph role="code" id="par_id9024628" xml-lang="en-US" l10n="NEW">=B1="" =&gt; TRUE</paragraph>
<paragraph role="code" id="par_id3067110" xml-lang="en-US" l10n="NEW">=C1=0 =&gt; TRUE</paragraph>
<paragraph role="code" id="par_id8841822" xml-lang="en-US" l10n="NEW">=C1="" =&gt; TRUE (previously was FALSE)</paragraph>
<paragraph role="code" id="par_id4077578" xml-lang="en-US" l10n="NEW">=ISNUMBER(B1) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id9094515" xml-lang="en-US" l10n="NEW">=ISNUMBER(C1) =&gt; FALSE (previously was TRUE)</paragraph>
<paragraph role="code" id="par_id396740" xml-lang="en-US" l10n="NEW">=ISNUMBER(VLOOKUP(1;A1:C1;2)) =&gt; FALSE (B1)</paragraph>
<paragraph role="code" id="par_id3859675" xml-lang="en-US" l10n="NEW">=ISNUMBER(VLOOKUP(1;A1:C1;3)) =&gt; FALSE (C1, previously was TRUE)</paragraph>
<paragraph role="code" id="par_id402233" xml-lang="en-US" l10n="NEW">=ISTEXT(B1) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id1623889" xml-lang="en-US" l10n="NEW">=ISTEXT(C1) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id7781914" xml-lang="en-US" l10n="NEW">=ISTEXT(VLOOKUP(1;A1:C1;2)) =&gt; FALSE (B1, previously was TRUE)</paragraph>
<paragraph role="code" id="par_id300912" xml-lang="en-US" l10n="NEW">=ISTEXT(VLOOKUP(1;A1:C1;3)) =&gt; FALSE (C1)</paragraph>
<paragraph role="code" id="par_id9534592" xml-lang="en-US" l10n="NEW">=ISBLANK(B1) =&gt; TRUE</paragraph>
<paragraph role="code" id="par_id4969328" xml-lang="en-US" l10n="NEW">=ISBLANK(C1) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id9635914" xml-lang="en-US" l10n="NEW">=ISBLANK(VLOOKUP(1;A1:C1;2)) =&gt; TRUE (B1, previously was FALSE)</paragraph>
<paragraph role="code" id="par_id2476577" xml-lang="en-US" l10n="NEW">=ISBLANK(VLOOKUP(1;A1:C1;3)) =&gt; FALSE (C1)</paragraph>
<paragraph role="note" id="par_id4217047" xml-lang="en-US" l10n="NEW">Note that Microsoft Excel behaves different and always returns a number as the result of a reference to an empty cell or a formula cell with the result of an empty cell. For example:</paragraph>
<paragraph role="code" id="par_id2629474" xml-lang="en-US" l10n="NEW">A1: &lt;empty&gt;</paragraph>
<paragraph role="code" id="par_id8069704" xml-lang="en-US" l10n="NEW">B1: =A1 =&gt; displays 0, but is just a reference to an empty cell</paragraph>
<paragraph role="code" id="par_id4524674" xml-lang="en-US" l10n="NEW">=ISNUMBER(A1) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id4396801" xml-lang="en-US" l10n="NEW">=ISTEXT(A1) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id5293740" xml-lang="en-US" l10n="NEW">=A1=0 =&gt; TRUE</paragraph>
<paragraph role="code" id="par_id7623828" xml-lang="en-US" l10n="NEW">=A1="" =&gt; TRUE</paragraph>
<paragraph role="code" id="par_id2861720" xml-lang="en-US" l10n="NEW">=ISNUMBER(B1) =&gt; FALSE (MS-Excel: TRUE)</paragraph>
<paragraph role="code" id="par_id9604480" xml-lang="en-US" l10n="NEW">=ISTEXT(B1) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id2298959" xml-lang="en-US" l10n="NEW">=B1=0 =&gt; TRUE</paragraph>
<paragraph role="code" id="par_id4653767" xml-lang="en-US" l10n="NEW">=B1="" =&gt; TRUE (MS-Excel: FALSE)</paragraph>
<paragraph role="code" id="par_id8801538" xml-lang="en-US" l10n="NEW">C1: =VLOOKUP(...) with empty cell result =&gt; displays empty (MS-Excel: displays 0)</paragraph>
<paragraph role="code" id="par_id6746421" xml-lang="en-US" l10n="NEW">=ISNUMBER(VLOOKUP(...)) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id4876247" xml-lang="en-US" l10n="NEW">=ISTEXT(VLOOKUP(...)) =&gt; FALSE</paragraph>
<paragraph role="code" id="par_id7458723" xml-lang="en-US" l10n="NEW">=ISNUMBER(C1) =&gt; FALSE (MS-Excel: TRUE)</paragraph>
<paragraph role="code" id="par_id2753379" xml-lang="en-US" l10n="NEW">=ISTEXT(C1) =&gt; FALSE</paragraph>
</body>
</helpdocument>