【エクセル】関数でシート名を取得する方法!

エクセル
この記事は約3分で読めます。
スポンサーリンク
スポンサーリンク

【エクセル】関数でシート名を取得する方法!

エクセルでシート名のみを取得して、
セルに表示させる方法を説明します。

使用する数式とサンプル

使用する数式は、

=MID(CELL(“filename”, A1 ),FIND(“]”,CELL(“filename”, A1 ))+ 1,255 )

となっています。
A1はどのセルを選択しても構いません。

表示結果は下記の通り、B3にシート名「シート名を表示」が表示されていることが分かると思います。

数式の説明

数式の説明をします。

あまりなじみのない関数かもしれませんが、

CELL(“○○”, A1)

で、セルのいろいろな内容を取得することができます。
その中でも、○○を→「filename」とすると、

C:\Users\bluei\OneDrive\デスクトップ[SAMPLE.xlsx]シート名

のように、シートのファイル名とパスを取得することができます。

ここまで来たら、あとは、シート名を取り出してくるだけです。

シート名は ”]” の後に来ることが分かっていますので、
MID関数で ”]” 以降の文字列をもってきます。

ExcelUIでは、31文字を超えるワークシートに名前を付けることはできませんが、念のため最大の255文字を使用しています。

その他CELL関数で得られる情報

その他CELL関数で得られる情報は下記のとおりです。
思った以上にいろいろと

address参照内の最初のセルのアドレスを(テキストとして)返します。
col参照の最初のセルの列番号を返します。
color参照の最初のセルが負の値の色を使用してフォーマットされている場合、値1を返します。そうでない場合はゼロ。
contentsreferenceの左上のセルの値を返します。
数式は返されません。代わりに、数式の結果が返されます。
filenameファイル名とフルパスをテキストとして返します。
参照を含むワークシートがまだ保存されていない場合、空の文字列が返されます。
formatセルの数値形式に対応するコードを返します。
parentheses参照の最初のセルが括弧でフォーマットされている1を返し、そうでない場合は0を返します。
prefixセルのラベルプレフィックスに対応するテキスト値を返します。セルのテキストが左揃えの場合は一重引用符( ‘)、セルテキストが右揃えの場合は二重引用符( “)、キャレット( ^)セルテキストが中央揃えのテキストの場合、セルテキストが塗りつぶされた場合はバックスラッシュ()、ラベルプレフィックスがそれ以外の場合は空の文字列。
protect参照の最初のセルがロックされている場合は1を返し、ロックされていない場合は0を返します。
row参照の最初のセルの行番号を返します。
type参照の最初のセルのデータのタイプに対応するテキスト値を返します。セルが空の場合は「b」、セルにテキスト定数が含まれる場合は「l」、値が「v」の場合は「v」セルには他のものが含まれています。
widthセルの列幅を返し、最も近い整数に丸めます。列幅の単位は、デフォルトのフォントサイズの1文字の幅と同じです。

コメント欄

タイトルとURLをコピーしました