Excel で =Cell(contents,x) を使用する理由は何ですか?

Excel で =Cell(contents,x) を使用する理由は何ですか?

次の有用性は何ですか?

=Cell(contents,x)

なぜそうしないのですか:

=X

例えば、この場合はそうではありません:

=INDIRECT(ADDRESS(1,2))

以下と同じように動作します:

=CELL("contents",INDIRECT(ADDRESS(1,2)))

答え1

セルの内容は、セル内の値のみを返します。これは多くの場合必要な唯一のものであり、多くの数式では、例のように =X を使用すれば問題ありません (ただし、Cell 関数を使用すると、セルに関するさらに多くの情報 (タイプなど) にアクセスすることもできます)。

ただし、間接的であれば、セルから値を渡すだけでなく、セルへの参照を作成し、それを数式で使用できるため、さらに多くのことが可能になります。セルの内容では、これを行うことはできません。

Cell では次のことが可能になります:

A1="thing I'm looking up"
=vlookup(cell.contents("contents",A1), myRange,1,false)

あるいはこれ:

A1="B2"
B2="thing i'm looking up"
=vlookup(cell.contents("contents",indirect(A1)), myRange,1,false)

しかし、次のことはできません:

A1="B3:C5"
vlookup("thing I'm looking up in " & A1, indirect(A1), 1, false)

A1 に保存されているアドレスを、数式で使用する参照として使用できます。セルでは値のみ使用でき、参照として使用することはできません。

答え2

CELL("contents",...)戻り値

参照の左上セルの値。数式ではありません

https://support.office.com/en-us/article/cell-function-51bd39a5-f338-4dbe-a33f-955d67c2b2cf

したがって、参照に複数のセルが含まれている場合、関数を使用した場合と範囲を参照した場合の結果はCELL異なります。

関連情報