Excelではセルに入力されている「値」だけでなく、そのセルが持つ「書式」「位置」「内容の種類」などの情報を取得できる関数があります。それが CELL関数 です。セルの内容に応じた処理をしたいときや、セルの属性を調べたいときに非常に便利です。本記事では、CELL関数の基本的な使い方から注意点までを解説します。
CELL関数とは?
CELL関数は、セルの書式・位置・内容に関する情報を返す関数です。
書式
=CELL(検査の種類, [対象範囲])
- 検査の種類(必須):取得したいセル情報の種類を指定します。テキスト値で入力。
- 対象範囲(省略可):情報を取得したいセルまたはセル範囲を指定。
CELL関数の検査の種類
以下の表は、「検査の種類」に指定できるテキスト値と、それによって返される結果をまとめたものです。
info_type | 戻り値の内容 |
---|---|
“address” | 対象範囲の左上隅にあるセルの参照を文字列で返します。 |
“col” | 対象セルの列番号を返します。 |
“color” | 負数を色で表す書式が設定されていれば1、それ以外は0を返します。(Web版Excel等では非対応) |
“contents” | セル内の値(数式ではなく実際の値)を返します。 |
“filename” | セルを含むファイルのフルパスを返します。保存されていない場合は空文字を返します。(Web版Excel等では非対応) |
“format” | セルの表示形式を示す文字列を返します。(詳細は後述)(Web版Excel等では非対応) |
“parentheses” | 正の値またはすべての値を括弧で囲む書式が設定されていれば1、それ以外は0。(Web版Excel等では非対応) |
“prefix” | 左寄せは’、右寄せは”、中央揃えは^、両端揃えは¥を返します。その他のデータは空文字。(Web版Excel等では非対応) |
“protect” | セルがロックされていれば1、そうでなければ0。(Web版Excel等では非対応) |
“row” | 対象セルの行番号を返します。 |
“type” | セルの内容タイプを返します。空白は”b”、文字列は”l”、数値は”v”。 |
“width” | セルの列幅と、既定値かどうかのブール値を含む配列を返します。(Web版Excel等では非対応) |
CELL関数の “Format” 指定時の表示形式コード一覧
「検査の種類」で”format” を指定した場合、セルの書式に応じて次の文字列を返します。
表示形式 | 戻り値 |
---|---|
全般 | “G” |
0 | “F0” |
0.00 | “F2” |
#,##0 | “,0” |
#,##0.00 | “,2” |
$#,##0_);($#,##0) | “C0” |
$#,##0.00_);($#,##0.00) | “C2” |
0% | “P0” |
0.00% | “P2” |
0.00E+00 | “S2” |
m/d/yy | “D4” |
d-mmm-yy | “D1” |
d-mmm | “D2” |
mmm-yy | “D3” |
mm/dd | “D5” |
h:mm AM/PM | “D7” |
h:mm:ss AM/PM | “D6” |
h:mm | “D9” |
h:mm:ss | “D8” |
使用例
例1: セルのアドレスを取得
=CELL("address", A1)
→ 「$A$1」と表示されます。
例2: セルの列番号を取得
=CELL("col", A1)
→ 列番号「1」が返ります。
例3: セルの内容タイプを確認
=CELL("type", B1)
→ 空白なら “b”、文字列なら “l”、数値なら “v”。
活用例
CELL関数でファイル名を取得する
作業しているブックの保存場所やファイル名をセルに表示させたいときに便利なのが、CELL
関数の "filename"
オプションです。
=CELL("filename", A1)
この式を入力すると、対象セルがどこであっても、ブック全体のフルパスが返され、次のようなパスが表示されます。
保存先フォルダのパス[ファイル名]シート名
"filename"
オプションを使えば、複数のシートやセルに共通のファイル情報を簡単に取得でき、ブックの保存場所を確認したり、シート名を取り出す計算式に応用することもできます。
関連関数
- INFO関数:ExcelやOSの環境に関する情報を返す
- TYPE関数:セルに格納されている値のデータ型を返す
- ISNUMBER関数 / ISTEXT関数:セルの内容が数値か文字列か判定する
まとめ
CELL関数は、セルの「値」だけでなく「位置」「書式」「データ型」などの情報を返す便利な関数です。
- 書式:
=CELL(検査の種類, [対象範囲])
type
を使えば「数値か文字列か」を判定可能address
やfilename
でセルの位置やファイル情報を取得可能- Web版Excelでは一部未対応の種類があるため注意
セルの状態を利用して動的な数式を作りたいときに、非常に役立つ関数です。