セルのValueとTextの違い

セルのプロパティにはValueとTextという違いが分かりにくいものがあります。

違いの例を書くと、例としてセルの書式設定が会計形式「\0,000」の場合に、「1234」となるのがValueで「\1,234」となるのがTextです。書式を反映するかどうかがValueとTextの違いです。詳細は後述します。

Value、Textの他にもセルの値を表すプロパティにはValue2、Formula、FormulaR1C1があります。また、プロパティを省略した未設定での記述も可能です。

これらについて以下に説明します。

各プロパティの概要

各プロパティの参照値と設定値の概要です。
以下の各プロパティのうち、Textプロパティだけは参照しかできません。

プロパティ 扱う内容 参照 設定
未設定 Valueとして扱う
Value セルの計算結果の値
Text セルの書式を含めた表示文字列 ×
Value2 シリアル値
Formula A1形式の数式
Formula2 R1C1形式の数式



未設定とValueは値、Textは表示文字

A1セルの書式を「\0,000」の金額形式に設定し、そこに「=1000+2000」という数式を入れた場合に、各プロパティがどのように表現されるかのサンプルです。

実行結果
未設定 = [3000]
Value = [3000]
Text = [\3,000]
Value2 = [3000]
Formula =[=1000+2000]
FormulaR1C1 = [=1000+2000]

この結果の通り、プロパティ未設定とValueはセルの数式の「=1000+2000」の結果の「3000」が設定され、Textには「\3,000」の表示文字が設定されます。

未設定とValueの場合はセルの書式は反映されていませんが、Textは反映されます。このように、セルの書式を反映するかどうかがValueとTextの違いです。

参考としてValue2、Formula、FormulaR1C1も取得しています。

Formulaには数式の「=1000+2000」が設定されます。Value2はValueと同じ値で、FormulaR1C1はFormulaと同じ値です。数値の場合はこのように、FormulaとFormulaR1C1、ValueとValue2には同じ値が設定されます。

どのような場合が異なるのかを以下に説明します。

Value2はシリアル値、FormulaはA1形式数式、FormulaR1C1はR1C1形式の数式

先のサンプルは単純な数値の計算でしたが、日付形式の場合にするとValue2、セル座標を含めた数式だとFormula、FormulaR1C1などの違いが見えてきます。

実行結果
未設定 = [2017/08/02]
Value = [2017/08/02]
Text = [2017年8月2日]
Value2 = [42949]
Formula =[=A1-A2]
FormulaR1C1 = [=R[-2]C-R[-1]C]

日付の場合は未設定とValueは日付形式のスラッシュ(/)区切りで、Textは書式設定の年月日付きになります。これは先のサンプルと同じでセルの書式を反映しないのがValue、反映するのがTextです。

Value2には日付を表すシリアル値が入ります。具体的には1900/1/1からの経過日付の42949日を示しています。なお、1900/1/1は1日目としてカウントされます。

FormulaにはA1形式の数式、FormulaR1C1にはR1C1形式の数式が設定されます。

関連記事

サブコンテンツ

このページの先頭へ