<スポンサーリンク>

【エクセル】ワークシートの名前が存在しているか調べる方法!重複を確認

この記事は約2分で読めます。
コピーボタン
記事のタイトルとURLをコピー
スポンサーリンク

ワークシートの名前が重複しているかを調べる方法!

<スポンサーリンク>

今回は

エクセルのワークシートの名前が存在しているか?

を調べる数式を紹介します。

使う数式

ワークシート名がワークブックに存在するかどうかを判別するには、
ISREF関数とINDIRECT関数を組み合わせて使用することで可能です。

式の書き方は、 

= ISREF(INDIRECT("【シート名】" &"!A1" ))

で表すことができ、

・シートが存在する場合 → ISREFの結果が true
・シートが存在しない場合 → ISREFの結果が false

となります。

この数式の仕組み

ISREF関数は
・有効なワークシート参照に対してTRUEを返し、
・有効でない場合FALSEを返します。

この場合、特定のシートがワークブックに存在することを確認したいので、
列Bのシート名を「!」と「A1」で連結して検索したいシートの参照を作成します。

B5 &"!A1"

INDRECT関数は、その値をそのまま拾ってくる関数なので、

INDIRECT(「Sheet1!A1」) → sheet1!A1の値が表示される

はずなのですが、
シートがない場合は、#REFエラーが返されますので、
これをISREF関数で判定します。

シート名のスペースと句読点の扱い

シート名にスペースまたは句読文字が含まれている場合は、
単純な「!」だけではだめなので、「"’"」で囲むようにしましょう。

= ISREF(INDIRECT("'" &シート名&"'!A1" ))

まとめ

あまりなじみのないISREF関数ですが、
実はこんな使い方ができるのです!

シート名が重複は、マクロで判別するイメージだったと思いますが、
これだとVBAを使わずに判断することができます!

ぜひお試しあれ!

コメント欄

<スポンサーリンク>
タイトルとURLをコピーしました