Excel セルの様々な情報を取得(CELL関数)

2020年5月21日

CELL関数は指定したセルの書式やロック状況など様々な情報を取得します。

この記事では関数の仕様と使い方を紹介します。

CELL関数には用途のないモードや他の方法の方が良いものもあるため

そういった事項についても解説していきます。

仕様

=CELL(検査の種類,対象範囲)
引数省略時の値説明
検査の種類省略不可文字列かセルを指定。指定内容は後述。
対象範囲省略不可検査するセルを指定
引数の詳細

実行例

検査の種類別に記述します。

☆マークのあるものは、より良い方法も紹介しています。

address:参照文字列

指定したセルの範囲の最も左上のアドレスを取得します。

結果は絶対参照になります。

☆col:列番号

指定したセルの範囲の最も左上の列番号を取得します。

ただし同一機能がCOLUMN関数で実現可能なためこちらの方がよいでしょう。

color:負数の色設定の有無

指定セルが負数の際に色が変わる書式であれば1、そうでなければ0を返します。

「#,##0_ ;[赤]-#,##0」のような[赤]を含む書式が1になります。

contents:指定セルの値

セルの値を返します。

単純なセル参照と結果は同じため、あえて使う必要はありません。

filename:ファイルのパスとシート名

ファイルの保存場所と対象セルのシート名を返します。

ファイルを保存していなければ空白になります。

filenameの結果

文字列操作関数と組み合わせてファイル名やシート名を取得します。

ディレクトリのみが欲しい場合はINFO関数の方が効率的です。

format:表示形式

設定されている書式を返します。

表示形式コードがそのまま取得される分けでなくF0のようなコードが返ります。

表示形式戻り値
全般G
0F0
#,##0,0
0.00F2
#,##0.00,2
$#,##0_);($#,##0)C0
$#,##0_);[赤]($#,##0)C0-
$#,##0.00_);($#,##0.00)C2
$#,##0.00_);[赤]($#,##0.00)C2-
0%P0
0.00%P2
0.00E+00S2
# ?/? または # ??/??G
m/d/yy または m/d/yy h:mm または mm/dd/yyD4
d-mmm-yy または dd-mmm-yyD1
d-mmm または dd-mmmD2
mmm-yyD3
mm/ddD5
h:mm AM/PMD7
h:mm:ss AM/PMD6
h:mmD9
h:mm:ssD8

明確な法則性があるのは先頭の1文字のため、

LEFT関数で先頭1文字を切り出し判定する用途には使えます。

  • F:カンマなし数値
  • ,:カンマあり数値
  • C:通貨記号あり数値
  • P:パーセント表示
  • S:指数表示

parentheses:()で囲む数値か否か

正の値またはすべての値を()で囲む書式がセルに

設定されている場合は 「1」、設定されていない場合は 「0」が結果となります。

あまり使うことはないでしょう。

prefix:セルの文字位置

下記のような値になります。

文字位置結果
左詰め'
右詰め
中央揃え^
両揃え\
その他“"

protect:セルロックの有無

ロックされているセルであれば「1」、

そうでなければ「0」を返します。

☆row:行番号

指定したセルの範囲の最も左上の行番号を取得します。

ただし同一機能がROW関数で実現可能なためこちらの方がよいでしょう。

☆type:入力値の種類

入力値の種類によって戻り値が変わります。

種類結果
空白b
文字列l
その他v

空白はISBLANK関数、文字列はISTEXT関数、他にも数値はISNUMBER関数

論理値はISLOGICAL関数があるため、そちらの使用を推奨します。

width:小数点を切り捨てたセル幅

標準フォントで何文字分のセル幅かを取得します。

関連記事

検索結果を座標で取得する方法

関数の仕様と使い方の記事一覧