Excelでシート名を取得するにはどうすればよいですか?

Excel には、アクティブ シートの名前を直接取得する関数はありません。この問題の解決策は、複数の関数を使用して数式を作成するか、VBA を使用して作成されたカスタム関数を使用することです。

このチュートリアルでは、両方の方法を例を挙げて学習します。

数式を使用してワークシート名を取得する

ワークシートの名前を取得する数式を作成するには、CELLS、FIND、および MID 関数を使用する必要があります。シート名を取得できる関数は次のとおりです。

 =MID(CELL("filename"),FIND("]",CELL("filename"))+1,LEN(CELL("filename")))

シート名を取得するワークシートのセルの 1 つに上記の数式を入力します。さて、この公式を理解しましょう。それを理解するには、それを 4 つの部分に分ける必要があります。

最初の部分には、現在のシートの名前を持つワークブックのアドレスを返す CELL 関数があります。

ワークシート名を取得する式

そして、これが cell 関数から取得したアドレスです。ここでは、アドレスの最後にシートの名前があり、その名前を取得する必要があることがわかります。

スプレッドシートのアドレス

2 番目の部分では、セル関数を使用してアドレスを取得し、シート名の 1 つ前にある文字の位置を見つける FIND 関数があります。

検索機能

そして、「]」の位置番号を取得したら、それに 1 を加算して、シート名の最初の文字の位置を取得する必要があります。

位置を取得するために 1 を追加

3 番目の部分では、パス全体の文字を数える LEN 関数と CELL 関数があります。

レンアンドセル関数

この時点で、アドレス パス、シート名の最初の文字の位置、アドレス パス内の文字数がわかります。

スプレッドシートのアドレスパス

4 番目の部分では、MID 関数を使用して、結果にシート名が含まれます。

シート名を取得するユーザー定義関数を作成します。

UDF を使用してシート名を取得するのが最も簡単な方法です。複雑な数式を作成する必要はなく、次のような単純なコードを作成する必要があります。

シート名を取得するユーザー定義関数
 Function mySheetName() mySheetName = ActiveSheet.Name End Function

次に、このコードを使用して現在のワークシートの名前をセルに抽出する方法を見てみましょう。次の手順を使用します。

  1. まず、「開発」タブに移動し、「Visual Basic」をクリックします。
    developer-tab
  2. Visual Basic Editor で、[挿入] オプションに移動し、モジュールをクリックしてモジュールを挿入します。
    module-to-insert-module
  3. その後、コード ウィンドウに移動し、そこに上記のコードを貼り付けます。
    code-window
  4. 最後に、Visual Basic エディタを閉じて、スプレッドシートに戻ります。

ここで、ワークシート内の名前を取得したいセルの 1 つを選択し、そのセルに次の関数を入力します。

任意のセルを選択して名前を取得する

このチュートリアルでは、カスタム関数の作成について詳しく学ぶことができます。

Excelファイルを取得する

ダウンロード
Excelの数式一覧

関連する式

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です