CELL関数の使い方|セルの種類・アドレス・表示形式・列幅を調べる・ファイル名とシート名【実機で解説】

CELL関数の使い方|セルの種類・アドレス・表示形式・列幅を調べる・ファイル名とシート名【実機で解説】

CELL 関数は、セルの情報(入っている値の種類・アドレス・表示形式・列幅・ファイル名など)を調べる関数です。=CELL("type",B2) と書くと、B2 が数値なら「v」、文字なら「l」、空白なら「b」が返ります。

1 つ目の引数に、何を調べるか(検査の種類)を文字で入れます。この記事では、よく使う検査の種類と結果を、実際の Excel で確かめた結果で説明します。

練習用Excelファイル(無料ダウンロード)
数値・文字・空白・日付の表と、この記事の CELL の式をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

CELL 関数の書き方

=CELL(検査の種類, [セル])
検査の種類返すもの
“type”値の種類(v=数値・l=文字・b=空白)
“address”セルのアドレス($B$2 のような形)
“row”・”col”行の番号・列の番号
“format”表示形式の記号(F1・D1 など)
“width”列幅(整数)と、標準の幅のままか(TRUE・FALSE)の 2 つ
“contents”セルの値
“filename”ファイルの場所・ファイル名・シート名

セルを省略すると、最後に変更したセルの情報になるので、ふつうはセルを指定します。

1. 値の種類を調べる(”type”)

I2 に式を入れて、下へコピーします。

=CELL("type",B2)
エクセルのCELL関数で数値と文字と空白と日付のセルの値の種類を調べた画面
エクセルのCELL関数で数値と文字と空白と日付のセルの値の種類を調べた画面

数値は v、文字は l、空白は b、日付は v でした。日付は数値(v)として扱われます。

2. アドレスを出す(”address”)

セルの場所を、$ 付きのアドレスで返します。

=CELL("address",B2)
エクセルのCELL関数でセルのアドレスを求めた画面
エクセルのCELL関数でセルのアドレスを求めた画面

1 つ目は $B$2、4 つ目は $B$5 でした。

3. 表示形式を調べる(”format”)

表示形式は、記号で返ります。

=CELL("format",B2)
エクセルのCELL関数でセルの表示形式の記号を調べた画面
エクセルのCELL関数でセルの表示形式の記号を調べた画面

#,##0.0 の数値は ,1、文字は G、yyyy/m/d の日付は D1 でした。「,1」はけた区切りで小数 1 けた、「G」は標準、「D1」は日付という意味です。

4. 行・列の番号と列幅を出す

“row”・”col”・”width” をつなげて表示します。“width” は「列幅」と「標準の幅のままか(TRUE・FALSE)」の 2 つの値を返すので、INDEX(…,1) で 1 つ目の列幅だけを取り出します(下の検証)。

=CELL("row",B2)&"行 "&CELL("col",B2)&"列 幅"&INDEX(CELL("width",B2),1)
エクセルのCELL関数でセルの行の番号と列の番号と列幅を調べた画面
エクセルのCELL関数でセルの行の番号と列の番号と列幅を調べた画面

結果は「2行 2列 幅10」でした。B 列の幅を 10 にしているので、幅は 10 です。

【実機で検証】CELL でつまずくところ

エクセルのCELL関数で保存前のブックのファイル名や日付のセルの値や検査の種類を間違えたときの結果を確かめた画面
エクセルのCELL関数で保存前のブックのファイル名や日付のセルの値や検査の種類を間違えたときの結果を確かめた画面
ためしたこと式結果
保存する前のブックの “filename”=CELL("filename",CELL!A1)
“filename” の文字数=LEN(CELL("filename",CELL!A1))0
“contents”(日付のセル)=CELL("contents",CELL!B5)46113
“prefix”(中央ぞろえの文字)=CELL("prefix",CELL!B3)^
“protect”(ふつうのセル)=CELL("protect",CELL!B2)1
検査の種類を間違えた(”typ”)=CELL("typ",CELL!B2)#VALUE!
“width” の 2 つ目(B 列)=INDEX(CELL("width",CELL!B2),2)FALSE

保存する前のブックでは、”filename” は空(文字数 0)になりました。ファイル名やシート名を出したいときは、先にブックを保存します。

日付のセルの “contents” は 46113 で、シリアル値(数値)が返りました。”prefix” は配置の記号で、中央ぞろえの文字は「^」です。”protect” はロックされたセルなら 1 です。

検査の種類を “typ” のように間違えると #VALUE! になりました。“width” の 2 つ目の値は FALSE で、列幅を標準から変えているため FALSE になりました。INDEX を付けずに =CELL("width",B2) と書くと、2 つの値が右のセルへスピルします。

よくある質問

シート名をセルに出したいときは?

ブックを保存してから =TEXTAFTER(CELL("filename",A1),"]") と書きます。シートの番号は SHEET 関数で出せます。

数値か文字かを TRUE・FALSE で調べたいときは?

ISNUMBER・ISTEXTを使います。

値の種類を番号で調べたいときは?

TYPE 関数で、数値=1・文字=2 のような番号を返せます。

練習用Excelファイル(無料ダウンロード)
この記事の例をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次