ワークシートの名前が重複しているかを調べる方法!
<スポンサーリンク>
今回は
エクセルのワークシートの名前が存在しているか?
を調べる数式を紹介します。
使う数式
ワークシート名がワークブックに存在するかどうかを判別するには、
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を使わずに判断することができます!
ぜひお試しあれ!
コメント欄