1<?xml version="1.0" encoding="UTF-8"?>
2
3<!--***********************************************************
4 *
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements.  See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership.  The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License.  You may obtain a copy of the License at
12 *
13 *   http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied.  See the License for the
19 * specific language governing permissions and limitations
20 * under the License.
21 *
22 ***********************************************************-->
23
24<helpdocument version="1.0">
25<meta>
26<topic id="textscalc05empty_cellsxml" indexer="include" status="PUBLISH">
27<title id="tit" xml-lang="en-US">Handling of Empty Cells</title>
28<filename>/text/scalc/05/empty_cells.xhp</filename>
29</topic>
30</meta>
31<body>
32<bookmark xml-lang="en-US" branch="index" id="bm_id3146799">
33<bookmark_value>empty cells;handling of</bookmark_value>
34</bookmark><comment>i86303</comment>
35<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>
36<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>
37<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>
38<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>
39<paragraph role="code" id="par_id8277230" xml-lang="en-US" l10n="NEW">A1: 1 B1: &lt;empty&gt; C1: =B1 (displays 0)</paragraph>
40<paragraph role="code" id="par_id4086428" xml-lang="en-US" l10n="NEW">=B1=0 =&gt; TRUE</paragraph>
41<paragraph role="code" id="par_id9024628" xml-lang="en-US" l10n="NEW">=B1="" =&gt; TRUE</paragraph>
42<paragraph role="code" id="par_id3067110" xml-lang="en-US" l10n="NEW">=C1=0 =&gt; TRUE</paragraph>
43<paragraph role="code" id="par_id8841822" xml-lang="en-US" l10n="NEW">=C1="" =&gt; TRUE (previously was FALSE)</paragraph>
44<paragraph role="code" id="par_id4077578" xml-lang="en-US" l10n="NEW">=ISNUMBER(B1) =&gt; FALSE</paragraph>
45<paragraph role="code" id="par_id9094515" xml-lang="en-US" l10n="NEW">=ISNUMBER(C1) =&gt; FALSE (previously was TRUE)</paragraph>
46<paragraph role="code" id="par_id396740" xml-lang="en-US" l10n="NEW">=ISNUMBER(VLOOKUP(1;A1:C1;2)) =&gt; FALSE (B1)</paragraph>
47<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>
48<paragraph role="code" id="par_id402233" xml-lang="en-US" l10n="NEW">=ISTEXT(B1) =&gt; FALSE</paragraph>
49<paragraph role="code" id="par_id1623889" xml-lang="en-US" l10n="NEW">=ISTEXT(C1) =&gt; FALSE</paragraph>
50<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>
51<paragraph role="code" id="par_id300912" xml-lang="en-US" l10n="NEW">=ISTEXT(VLOOKUP(1;A1:C1;3)) =&gt; FALSE (C1)</paragraph>
52<paragraph role="code" id="par_id9534592" xml-lang="en-US" l10n="NEW">=ISBLANK(B1) =&gt; TRUE</paragraph>
53<paragraph role="code" id="par_id4969328" xml-lang="en-US" l10n="NEW">=ISBLANK(C1) =&gt; FALSE</paragraph>
54<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>
55<paragraph role="code" id="par_id2476577" xml-lang="en-US" l10n="NEW">=ISBLANK(VLOOKUP(1;A1:C1;3)) =&gt; FALSE (C1)</paragraph>
56<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>
57<paragraph role="code" id="par_id2629474" xml-lang="en-US" l10n="NEW">A1: &lt;empty&gt;</paragraph>
58<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>
59<paragraph role="code" id="par_id4524674" xml-lang="en-US" l10n="NEW">=ISNUMBER(A1) =&gt; FALSE</paragraph>
60<paragraph role="code" id="par_id4396801" xml-lang="en-US" l10n="NEW">=ISTEXT(A1) =&gt; FALSE</paragraph>
61<paragraph role="code" id="par_id5293740" xml-lang="en-US" l10n="NEW">=A1=0 =&gt; TRUE</paragraph>
62<paragraph role="code" id="par_id7623828" xml-lang="en-US" l10n="NEW">=A1="" =&gt; TRUE</paragraph>
63<paragraph role="code" id="par_id2861720" xml-lang="en-US" l10n="NEW">=ISNUMBER(B1) =&gt; FALSE (MS-Excel: TRUE)</paragraph>
64<paragraph role="code" id="par_id9604480" xml-lang="en-US" l10n="NEW">=ISTEXT(B1) =&gt; FALSE</paragraph>
65<paragraph role="code" id="par_id2298959" xml-lang="en-US" l10n="NEW">=B1=0 =&gt; TRUE</paragraph>
66<paragraph role="code" id="par_id4653767" xml-lang="en-US" l10n="NEW">=B1="" =&gt; TRUE (MS-Excel: FALSE)</paragraph>
67<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>
68<paragraph role="code" id="par_id6746421" xml-lang="en-US" l10n="NEW">=ISNUMBER(VLOOKUP(...)) =&gt; FALSE</paragraph>
69<paragraph role="code" id="par_id4876247" xml-lang="en-US" l10n="NEW">=ISTEXT(VLOOKUP(...)) =&gt; FALSE</paragraph>
70<paragraph role="code" id="par_id7458723" xml-lang="en-US" l10n="NEW">=ISNUMBER(C1) =&gt; FALSE (MS-Excel: TRUE)</paragraph>
71<paragraph role="code" id="par_id2753379" xml-lang="en-US" l10n="NEW">=ISTEXT(C1) =&gt; FALSE</paragraph>
72</body>
73</helpdocument>
74