Published on Mon Oct 16 2023 01:26:00 GMT+0000 (Coordinated Universal Time) by IGAITO
INDIRECT関数で他のシートを参照していて、シートを複製した際に関数が必ず#REFとなってしまう。 関数は変更していないので間違っているはずはない。。なんなら関数を打ち直すと値が表示される。 原因はなんだろう?どうしたら改善できるんだろう??
#REFが出ている原因は、シート名に記号「-」が入っていることじゃ。
indirect関数で#REFが表示されないためには?
- シート名に「-」を入れない。 私の場合は、どうしてもシート名の最初に「-」を入れたいのでこの方法は選択したくありませんでした。
- 「-」を記号ではなく、文字列として認識させる。
「-」を記号ではなく、文字列として認識させる
#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