Office Hack

ExcelのCELL関数の使い方|指定したセルの情報を得る

  • Release

この記事では、ExcelのCELL関数の使い方についてご紹介します。

CELL関数は引数によって、対象セルの様々な情報を得ることが出来る関数です。

CELL関数の引数の詳細や、他の関数と組み合わせる方法などについてもご説明していますので、参考にしてみてください。

CELL関数とは?

CELL(セル)関数とは、Excelにおいてセルの内容や書式、位置等を調べることが出来る関数です。

CELL関数の例

例えば、上の画像ではD3セルに入力したCELL関数でB3セルに入力されたデータが何かを調べています。

B3セルは空白で何もデータが入っていないため、CELL関数の結果は「空白(Blank)」を表す「b」が表示されています。

このように、CELL関数では対象のセルに関する情報を調べることが出来ます。

CELL関数の書式

まずは、CELL関数の書式を確認していきましょう。

CELL関数の書式

CELL関数は、「=CELL(検査の種類,[参照])」のように記述します。

引数を1つずつ確認していきましょう。

※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。

第1引数(検査の種類)

検査の種類の引数

1番目の引数は「検査の種類」です。この引数は必須です。対象のセルについてどんな情報を得たいかをここで指定します。

この引数には、以下のリストの「検査の種類」をダブルクォーテーションで囲んで入力することで、それぞれに対応した結果が得られます。

検査の種類戻り値
address対象範囲の左上隅にあるセル番地を表す文字列
col対象範囲の左上隅にあるセルの列番号
colorセルに負の数を色で表すように書式設定されている場合は「1」
それ以外の場合は「0」
contents対象範囲の左上隅にあるセルの値
filenameファイルの名前
保存されていない場合は「""(空白文字列)」
formatセルの表示形式
parentheses正の値またはすべての値をかっこで囲む書式がセルに設定されている場合は「1」
それ以外の場合は「0」
prefixセル内のデータの配置
左詰めの文字列を含むときは単一引用符「'」
右詰めの文字列を含むときは二重引用符「"」
中央揃えの文字列を含むときはキャレット「^」
両揃えの文字列を含むときは円記号「¥」
セルにそれ以外のデータが入力されているときは空白文字列「""」
protectセルがロックされている場合は「1」
ロックされていない場合は「0」
row対象範囲の左上隅にあるセルの行番号
typeセルに含まれるデータのタイプ
空白の場合は「b(Blankの頭文字)」
文字列定数が入力されている場合は「l(Labelの頭文字)」
その他の値が入力されている場合は「v(Valueの頭文字)」
widthセルの幅

第2引数(参照)

参照の引数

2番目の引数は「参照」です。この引数は省略できます。どのセルから情報を得るかをセル番地で指定します。省略した場合は、CELL関数を入力したセルの情報が得られます。

CELL関数の使い方

CELL関数の使い方について、ご紹介します。

基本操作を行う

CELL関数を使って、対象セル内のデータが「空白/文字列/値」のどれかを調べる方法についてご説明します。

作業時間:2分

  1. CELL関数を入力する
    CELL関数を入力

    まずはCELL関数を入力します。エクセルファイルを開き、上の画像のような表を準備しましょう。【任意のセル(例:D3)】を選択し、『=CELL(』と入力します。

  2. 検査の種類の引数を設定する
    検査の種類を入力

    検査の種類の引数を入力します。今回はB3セルが「空白/文字列/値」のどれかが入力されているかを調べたいので「type」という検査の種類を入力します。「=CELL」に続いて『"type",』と入力します。

  3. 参照の引数を設定する
    参照を入力

    参照の引数を設定します。今回はB3セルのデータについて調べるので「"type",」に続いて『B3)』と入力し、【Enter】キーを押します。

  4. 結果が表示される
    CELL関数の例

    B3セルは空白のセルなので、D3セルに空白を表す「b」が表示されました。これで、CELL関数を使って対象セル内のデータが「空白/文字列/値」のどれかを調べることが出来ました。検査の種類は「type」以外にも複数あり、それぞれに応じた情報を得ることが出来ます。その他の検査の種類については、上記「第1引数(検査の種類)」セクションをご参照ください。

条件付き書式を使用する

CELL関数の結果を使って、条件付き書式を設定することが出来ます。

条件付き書式の設定完了

今回は画像のようにC3に表示されたCELL関数の結果に応じてE3セルの背景を自動的に塗りつぶすという設定を行っていきます。

条件付き書式を選択する

まずは上記「基本操作を行う」セクションを参考に画像のような表を作成しましょう。

今回は、CELL関数を使ってB3セルが「空白/文字列/値」のどれかを調べて、空白だった場合(つまりC3セルに「b」と表示された場合)に、E3セルの背景を自動的に塗りつぶすように設定します。

①【自動的に塗りつぶしたいセル(例:E3)】を選択します。

②【ホーム】タブ、③【条件付き書式】、④【新しいルール】の順に選択します。

数式を入力する

「新しい書式ルール」ダイアログボックスが表示されました。

①【数式を使用して、書式設定するセルを決定】を選択します。

②「次の数式を満たす場合に値を書式設定」に『=C3="b"』と入力し、③【書式】ボタンを押します。

塗りつぶしの色を選択する

「セルの書式設定」ダイアログボックスが表示されます。

①【塗りつぶし】タブ、②「背景色」の【任意の色(例:緑)】を選択し、③【OK】ボタンを押します。

OKボタンを押す

「新しい書式ルール」ダイアログボックスに戻ります。

【OK】ボタンを押します。

データを数値に変更してみる

これで、CELL関数を使ってB3セルが空白だった場合にE3セルの背景を自動的に塗りつぶすように設定することが出来ました。

試しに、B3セルのデータを数値である『10』に変更し、Enterを押してみます。

塗りつぶしが消える

B3セルのデータが数値になり、C3セルのCELL関数の結果が「v」になりました。

これによって、E3セルの塗りつぶしがなくなりました。

これで、全ての設定は完了です。

他の関数と組み合わせる

CELL関数を他の関数と組み合わせる方法について、ご説明します。

CELL関数×IF関数

CELL関数とIF関数を組み合わせると、対象のセルに数値が入力されていた場合に「数値」と表示する数式を作成できます。

IF関数の詳細については、以下の記事をご参照ください。

方法の詳細は以下の通りです。

IF関数を入力する

まずはIF関数を入力します。

IF関数の書式は、「=IF(論理式,[値が真の場合],[値が偽の場合])」です。

エクセルファイルを開き上の画像のような表を準備します。

【任意のセル(例:D3)】を入力し、『=IF(』と入力します。

CELL関数を入力する

次にCELL関数を入力します。

「=IF(」に続いて『CELL("type",B3)="v",』と入力します。

「CELL("type",B3)="v"」は、「対象のセルが数値だった場合は」という意味のCELL関数です。

真の場合の引数を入力する

IF関数の真の場合の引数を設定します。

B3セルが数値の場合は「数値」と表示したいので、「CELL("type",B3)="v",」に続いて『"数値"』と入力します。

空白を入力する

IF関数の偽の場合の引数を設定します。

対象のセルが数値以外の場合は空白にしたいので、「"数値"」に続いて『"")』と入力し、Enterを押します。

文字列に変更してみる

これで、CELL関数とIF関数を組み合わせた数式が完成しました。

試しにB3セルに文字列を入力して、D3セルの表示が変わるかを確かめてみます。

【データが入力された任意のセル(例:B3)】を選択して、『文字』と入力し、Enterを押します。

数値の文字が消える

B3セルのデータが数値ではなく文字列になったため、D3セルが空白になりました。

これで、CELL関数とIF関数を組み合わせて、対象のセルに数値が入力されていた場合に「数値」と表示する数式が完成しました。

CELL関数とADDRESS関数について

CELL関数の「検査の種類」である「address」とADDRESS関数はどちらも対象のセルの場所を表示する関数ですが、得られる情報が少し違います。

CELL関数の「address」では「対象範囲の左上隅にあるセル番地を表す文字列」が表示されるのに対し、ADDRESS関数では「列番号と行番号をもとにして検索したセル番地を表す文字列」が表示されます。

ADDRESS関数との違い

例えば、上の画像ではCELL関数とADDRESS関数を使ってそれぞれA1セルの場所を表示しています。

CELL関数では、「A1からA5セルの中で一番左上にあるセル番地」を「=CELL("address",A1:A5)」という数式で表示しています。

ADDRESS関数では、「1行目、1列目に該当するセル番地」を「=ADDRESS(1,1)」という数式で表示しています。

用途によって関数を使い分けましょう。

ADDRESS関数の詳細については、以下の記事をご参照ください。

このページを見ている人におすすめの商品

他の関数も合わせてチェック!

[Excel 関数 情報]の関連記事

よろしければ参考にならなかった点をお聞かせください

CAPTCHA


Page Top