空白のセルの処理
古いソフトウェアのバージョンでは、空白のセルに対して、一部のコンテキストでは強制的に数値 0 が設定され、そのほかのコンテキストでは空白文字列が設定されていました。例外的に、A1 が空白の場合、=A1=0 と =A1="" の両方の結果は、TRUE でした。空白は使用されるまで継承されるようになったので、ルックアップの結果として空白のセルが返される場合、=VLOOKUP(...)=0 と =VLOOKUP(...)="" は両方 TRUE を返します。
空白のセルへの単純な参照は、依然として数値 0 として表示されますが、必ずしも数値型ではないので、参照元のセルとの比較が予想どおりに行われます。
次の例では、A1 は数値を含み、B1 は空白で、C1 は B1 への参照を含みます。
A1:1 B1:(値なし) C1:=B1 (0 を表示)
=B1=0 => TRUE
=B1="" => TRUE
=C1=0 => TRUE
=C1="" => TRUE (以前は FALSE)
=ISNUMBER(B1) => FALSE
=ISNUMBER(C1) => FALSE (以前は TRUE)
=ISNUMBER(VLOOKUP(1;A1:C1;2)) => FALSE (B1)
=ISNUMBER(VLOOKUP(1;A1:C1;3)) => FALSE (C1、以前は TRUE)
=ISTEXT(B1) => FALSE
=ISTEXT(C1) => FALSE
=ISTEXT(VLOOKUP(1;A1:C1;2)) => FALSE (B1、以前は TRUE)
=ISTEXT(VLOOKUP(1;A1:C1;3)) => FALSE (C1)
=ISBLANK(B1) => TRUE
=ISBLANK(C1) => FALSE
=ISBLANK(VLOOKUP(1;A1:C1;2)) => TRUE (B1、以前は FALSE)
=ISBLANK(VLOOKUP(1;A1:C1;3)) => FALSE (C1)
Microsoft Excel は動作が異なり、空白のセルまたは空白のセルの結果を含む数式セルへの参照の結果を常に数値として返します。たとえば、次のようになります。
A1: (値なし)
B1:=A1 => 0 を表示しますが、空白のセルへの単なる参照です
=ISNUMBER(A1) => FALSE
=ISTEXT(A1) => FALSE
=A1=0 => TRUE
=A1="" => TRUE
=ISNUMBER(B1) => FALSE (Microsoft Excel: TRUE)
=ISTEXT(B1) => FALSE
=B1=0 => TRUE
=B1="" => TRUE (Microsoft Excel: FALSE)
C1: =VLOOKUP(...) with empty cell result => displays empty (Microsoft Excel: displays 0)
=ISNUMBER(VLOOKUP(...)) => FALSE
=ISTEXT(VLOOKUP(...)) => FALSE
=ISNUMBER(C1) => FALSE (Microsoft Excel: TRUE)
=ISTEXT(C1) => FALSE