Excel CELL関数と計算式の例

  • これを共有
Michael Brown

このチュートリアルでは、ExcelのCELL関数を使用して、セルのアドレス、内容、書式、位置など、セルに関するさまざまな情報を取得する方法について説明します。

Excelでセルに関する具体的な情報を得るには、通常どのようにしたらよいでしょうか。 自分の目で確認する人もいれば、リボンオプションを使う人もいるでしょう。 しかし、より迅速で確実な方法は、ExcelのCELL関数を使うことです。 特に、セルが保護されているかどうか、数値形式や列幅を持ってくる、そのセルが入っているワークブックへのフルパス、そして、そのセルが含まれているかどうかを知ることができます。a lot more.

    Excel CELL関数 - 構文と基本的な使用方法

    Excel の CELL 関数は、セルの内容、書式、位置など、セルに関するさまざまな情報を返します。

    CELL関数のシンタックスは以下のとおりです。

    CELL(info_type, [reference])

    どこで

    • 情報タイプ (必須) - そのセルについて返す情報のタイプ。
    • 参照 (オプション) - 情報を取得するセル。 通常、この引数は 1 つのセルです。 セルの範囲として指定すると、数式は範囲の左上のセルに関する情報を返します。 省略すると、シートで最後に変更されたセルに関する情報が返されます。

    Info_typeの値

    に設定可能なすべての値を示しています。 情報タイプ ExcelのCELL関数が受け付ける引数です。

    情報タイプ 商品説明
    "アドレス" テキストとして返されるセルのアドレス。
    "コル" セルの列番号。
    "色" セルが負の値に対してカラーフォーマットされている場合は数値1、そうでない場合は0(ゼロ)を指定する。
    「コンテンツ セルの値。 セルに数式が含まれている場合は、その計算値が返される。
    "ファイル名" セルを含むワークブックのファイル名とフルパスをテキストで返す。 セルを含むワークブックがまだ保存されていない場合は、空文字列("")が返される。
    "形式" セルの数値フォーマットに対応する特別なコードです。 詳しくは、フォーマットコードをご覧ください。
    「かっこ セルが正の値またはすべての値に対して括弧でフォーマットされている場合は数値1、そうでない場合は0を指定する。
    「接頭辞 の方法に応じて、以下の値のいずれかを指定します。 テキスト がセル内に整列している。
    • 左寄せ引用符
    • ダブルクォーテーション
    • カレット
    • バックスラッシュ
    • それ以外の場合は空文字列("")となります。

    について 数値 の場合、アライメントに関係なく空文字列(空白セル)が返されます。

    "守る" セルがロックされている場合は数値1、ロックされていない場合は数値0。

    ロックされている」と「保護されている」は別物ですので、ご注意ください。 ロックされた は、Excel のすべてのセルにデフォルトで選択されています。 セルを編集または削除から保護するには、ワークシートを保護する必要があります。

    セルの行番号。
    "タイプ" セル内のデータ型に対応する以下のテキスト値のいずれか。
    • 空のセルを表す "b"(ブランク)
    • テキスト定数を表す "l"(ラベル
    • v
    横幅 セルの列幅を小数点以下の数値に丸めたもの。 幅の単位については、Excelの列幅を参照してください。

    注意事項

    • すべてのinfo_typesは、以下の情報を取得します。 第一 (左上)のセルを 参照 の議論になります。
    • Excel Online、Excel Mobile、Excel Starterでは、「ファイル名」「書式」「括弧」「接頭辞」「保護」「幅」の各値はサポートされていません。

    例として、ExcelのCELL関数を使って、一般書式のテキスト値を含むセルA2のさまざまなプロパティを返してみましょう。

    A B C D
    1 データ 結果 商品説明
    2 アップル =CELL("住所", $A$2) $A$2 絶対参照としてのセルアドレス
    3 =CELL("col"、$A$2) 1 コラム1
    4 =CELL("色", $A$2) 0 セルが色付きでフォーマットされていない
    5 =CELL("コンテンツ", $A$2) アップル セル値
    6 =CELL("フォーマット",$A$2) G 一般的なフォーマット
    7 =CELL("括弧", $A$2) 0 セルの書式が括弧で囲まれていない
    8 =CELL("接頭辞", $A$2) ^ センタリングされたテキスト
    9 =CELL("プロテクト", $A$2) 1 セルがロックされた状態(初期状態)
    10 =CELL("行", $A$2) 2 2列目
    11 =CELL("タイプ", $A$2) l テキスト定数
    12 =CELL("幅", $A$2) 3 整数に丸められた列の幅

    スクリーンショットは、別のExcel CELL式の結果を示しています。 情報タイプ このため、C2に次の数式を入力し、下にドラッグして他のセルに数式をコピーします。

    =cell(b2, $a$2)

    このように、すでに知っている情報があれば、数式結果の解釈には何の問題もないはずです。 そして、これがこのチュートリアルの次のセクションにうまくつながっているのです。

    フォーマットコード

    以下の表は、CELL 式で返される値のうち、最も典型的なものをリストアップしたものです。 情報タイプ 引数に "format "を設定する。

    フォーマット 戻り値
    一般 G
    0 F0
    0.00 F2
    #,##0 ,0
    #,##0.00 ,2
    小数点以下の桁数がない通貨

    $#,##0 または $#,##0_);($#,##0)

    C0
    小数点以下2桁の通貨

    $#,##0.00 または $#,##0.00_);($#,##0.00)

    C2
    小数点以下のパーセンテージ

    0%

    P0
    小数点以下2桁のパーセンテージ

    0.00%

    P2
    科学的記数法

    0.00E+00

    S2
    分数

    # または # ?/?

    G
    m/d/yy または m/d/yy h:mm または mm/dd/yy D4
    dmmm-yy または dd-mmm-yy D1
    d-mmmまたはd-mmm D2
    うんうん D3
    mm/dd D5
    h:mm AM/PM D7
    h:mm:ss AM/PM D6
    h:mm D9
    h:mm:ss D8

    Excelのカスタム数値フォーマットの場合、CELL関数は他の値を返すことがありますが、以下のヒントがその解釈の助けになります。

    • 例えば、"G" は "General ", "C" は "Currency", "P" は "Percentage", "S" は "Scientific ", そして "D" は "Date" を表しています。
    • 数値、通貨、パーセンテージの場合、桁は表示される小数点以下の桁数を表します。 例えば、カスタム数値のフォーマットが0.###のように小数点以下3桁を表示する場合、CELL関数は「F3」を返します。
    • 例えば、#,###.#### という書式に対して、CELL 数式は ",4" を返し、これはセルが小数点以下4桁、千区切りの数値として書式設定されていることを示します。
    • セルが負の値を表す色でフォーマットされている場合、返される値の末尾にマイナス記号(-)が付加される。
    • セルが正の値またはすべての値に対して括弧でフォーマットされている場合、返される値の末尾に括弧()が追加されます。

    フォーマットコードの理解を深めるために、以下の計算式をD列全体にコピーした結果を見てください。

    =CELL("フォーマット",B3)

    注: 後に参照されるセルに異なるフォーマットを適用する場合、CELL式の結果を更新するにはワークシートを再計算する必要があります。 アクティブなワークシートを再計算するには、Shift + F9キーを押すか、「Excelワークシートの再計算方法」に記載されているその他の方法を使用します。

    エクセルでCELL関数を使う方法-計算式の例

    CELL 関数は、内蔵の info_types を使って、セルに関する合計 12 種類のパラメータを返すことができます。 他の Excel 関数と組み合わせると、さらに多くのことが可能になります。 次の例は、高度な機能のいくつかを示しています。

    ルックアップ結果のアドレス取得

    ある列の特定の値を調べて、それに一致する値を別の列から返すには、通常、VLOOKUP関数か、より強力なINDEX MATCHの組み合わせを使います。 返された値のアドレスも知りたい場合は、インデックス/マッチの数式を 参照 の引数は、以下のようになります。

    CELL("住所", INDEX ( return_column , MATCH ( ルックアップバリュー , ルックアップカラム , 0)))

    ルックアップ値をE2、ルックアップ範囲をA2:A7、リターン範囲をB2:B7とすると、実際の計算式は次のようになる。

    =CELL("アドレス", INDEX(B2:B7, MATCH(E1,A2:A7,0)))

    また、ルックアップ結果の絶対セル参照を返す。

    VLOOKUP関数はセルの値を返すのであって、参照を返すわけではないので、埋め込みはうまくいかないことに注意してください。 INDEX関数も通常はセルの値を表示しますが、その下にセルの参照を返すので、CELL関数が理解して処理することが可能です。

    ルックアップ結果(最初のマッチ)へのハイパーリンクを作成する

    最初のマッチのアドレスを取得するだけでなく、そのマッチにジャンプしたい場合は、この一般的な数式を使用して、ルックアップ結果へのハイパーリンクを作成します。

    HYPERLINK("#"&CELL("住所", INDEX ( return_column , MATCH ( ルックアップバリュー , ルックアップカラム , 0))), リンク名)

    この式では、再び古典的なインデックス/マッチの組み合わせを使用して最初のマッチング値を取得し、CELL関数でそのアドレスを抽出します。 そして、アドレスを「#」文字と結合して、ターゲット・セルが現在のシートにあることをHYPERLINKに知らせます。

    今回のサンプルデータセットでは、前の例と同じIndex/Match式を使用し、目的のリンク名、例えばこのリンク名を追加するだけでよいのです。

    =HYPERLINK("#"&CELL("address", INDEX(B2:B7, MATCH(E1,A2:A7,0))), "Go to lookup result")

    別のセルにハイパーリンクを作成する代わりに、アドレスを実際にクリック可能なリンクに変えることができます。 このためには、同じCELL("address", INDEX(...,MATCH())) 式をHYPERLINKの最後の引数に埋め込みます。

    =HYPERLINK("#"&CELL("address", INDEX(B2:B7, MATCH(E1,A2:A7,0))), CELL("address", INDEX(B2:B7, MATCH(E1,A2:A7,0))))

    そして、この長い数式が、饒舌で明快な結果を生み出すようにする。

    ファイルパスの異なる部分を取得する

    参照されているセルを含むワークブックへのフルパスを返すには、info_type引数に "filename "を指定した単純なExcelのCELL式を使用します。

    =CELL("ファイル名")

    このような形式でファイルパスを返します。 Drive:\path[workbook.xlsx]sheet

    パスの特定の部分のみを返すには、SEARCH 機能で開始位置を決定し、LEFT、RIGHT、MID などの Text 機能の 1 つで必要な部分を抽出します。

    注)以下の計算式はすべて、「◎」のアドレスを返します。 げんざい ワークブックとワークシート、つまり数式が配置されているシートを指定します。

    ワークブック名

    ファイル名だけを出力する場合は、以下の式を使用します。

    =MID(CELL("filename"), SEARCH("[", CELL("filename"))+1, SEARCH("]", CELL("filename")) - SEARCH("[", CELL("filename")))-1)

    計算式の仕組み :

    ExcelのCELL関数が返すファイル名を角括弧で囲み、MID関数で取り出します。

    開始点は、開始角括弧の位置+1:SEARCH ("[",CELL("filename")))+1.

    抽出する文字数は、開閉カッコの間の文字数に対応し、次の式で計算されます:SEARCH("]", CELL("filename")) - SEARCH("[", CELL("filename"))-1

    ワークシート名

    シート名を返すには、次のいずれかの数式を使用します。

    =RIGHT(CELL("filename"), LEN(CELL("filename")) - SEARCH("]", CELL("filename")))

    または

    =MID(CELL("filename"), SEARCH("]", CELL("filename"))+1, 31)

    計算式の仕組み :

    式1:内側から順に、LENで計算したパスの長さからSEARCHで返された閉じ括弧の位置を引いて、ワークシート名の文字数を計算します。 次に、この数値をRIGHT関数に与えて、CELLで返されたテキスト文字列の最後からその文字数だけ抜き出すように指示します。

    数式2:MID関数を使って、閉じ括弧の後の最初の文字で始まるシート名だけを抽出します。 抽出する文字数は31文字で、これはExcel UIが許容するワークシート名の最大文字数です(ただしExcelのxlsxファイル形式ではシート名に最大255文字まで許可されています)。

    ファイルへのパス

    この式では、ワークブック名とシート名を除いたファイルパスが表示されます。

    =LEFT(CELL("filename"), SEARCH("[", CELL("filename"))-1))

    計算式の仕組み :

    まず、SEARCH関数で開閉角括弧「[]」の位置を求め、1を引くと、抽出する文字数がわかる。 次に、LEFT関数で、CELLが返す文字列の先頭からその文字数だけ抜き出す。

    パスとファイル名

    この式で、ワークブック名を含むファイルへのフルパスが得られますが、シート名は含まれません。

    =SUBSTITUTE(LEFT(CELL("filename"), SEARCH("]", CELL("filename"))-1), "[", "")

    配合の仕組み

    SEARCH関数は、閉じ角括弧の位置を計算し、そこから1を引いて、LEFT関数でCELLが返す文字列の先頭からその数だけ文字を取り出す。 これで、シート名は切り取られるが、閉じ角括弧は残る。 これを取り除くには、「[]」を空文字列("")に置き換える。

    ExcelのCELL関数の使い方は以上です。 このチュートリアルで説明した数式をより詳しくご覧になりたい方は、Excel CELL関数サンプルワークブックをダウンロードしてください。

    お読みいただきありがとうございました!来週も当ブログをよろしくお願いします。

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。