意外と知られていない便利技

← Back to blog

Published on Mon Oct 16 2023 01:26:00 GMT+0000 (Coordinated Universal Time) by IGAITO

INDIRECT関数で他のシートを参照していて、シートを複製した際に関数が必ず#REFとなってしまう。 関数は変更していないので間違っているはずはない。。なんなら関数を打ち直すと値が表示される。 原因はなんだろう?どうしたら改善できるんだろう?? #REFが出ている原因は、シート名に記号「-」が入っていることじゃ。

indirect関数で#REFが表示されないためには?

  1. シート名に「-」を入れない。 私の場合は、どうしてもシート名の最初に「-」を入れたいのでこの方法は選択したくありませんでした。
  2. 「-」を記号ではなく、文字列として認識させる。

「-」を記号ではなく、文字列として認識させる

#REFエラーが出ていた関数 =indirect(A1&”!C2”) 修正後の関数 =indirect(”‘“&A1&”’!C28”) ※この関数ではA1セルにシート名が入力されています。 ※シート名は「-231015」、シート名はA1セルで以下の関数を入れることで生成しています。 =”-“&text(TODAY(),“YYMM”)&“15” ※関数を分解すると右のようになっています。 indirect ( ” ’ ” & A1 & ” ’ ! C28 ) 記号「-」文字列として認識させるためには、記号を「‘」で囲む必要があります。 「‘」は、「“」で囲む必要があります。 このままではA1部分がA1という文字列になってしまうので、&でAIを囲みます。

Written by IGAITO

← Back to blog