- ベストアンサー
エクセルで毎日のデータ自動入力方法
- エクセルで毎日のデータ自動入力するための式を教えてください。
- エクセルで原本から新しいシートにデータをコピーし、左隣の数値を自動入力する方法を教えてください。
- エクセルで1から31までのシート名を使用しながら、毎日のデータを自動入力する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、 CELL("filename") を複数のシート上で用いる場合には、例えば CELL("filename",A1) の様に、同じシートの中に存在する適当なセルを参照する様にしませんと、関数が入力されているセルが存在しているシート名ではなく、再計算が行われた時に開いていたシートの名称が表示されてしまいますので、必ず同じシートの中に存在するセルを参照先として指定する様にして下さい。 それから、御質問文に挙げられている関数では、「&RIGHT」の前と「&"!A1"」の前にそれぞれ1つずつある「""」の中に、「'」を入れるのを忘れています。 それで御質問の関数ですが、仮の話としてその関数をB1セルに入力するものとした場合においては、基本的には次の様な関数となります。 =INDIRECT("'"&REPLACE(CELL("filename",B1),1,FIND("]",CELL("filename",B1),FIND(".xls",CELL("filename",B1))),)-1&"'!A1") 尤も、御質問の件の場合は >シート名は1 2 3 4・・・と一ヶ月の31まで使っています。 という条件がありますので、次の様に少し簡略化する事が出来ます。 =INDIRECT("'"&SUBSTITUTE(RIGHT(CELL("filename",B1),2),"]",)-1&"'!A1")
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
=INDIRECT((SUBSTITUTE(RIGHT(CELL("filename"),2),"]","")-1)&"!A1") 元の式はシート名の右端1文字しか見ていませんのでシート名が2ケタになるとおかしくなっています。
お礼
無事解決致しました。 ありがとうございます。
お礼
完璧な発注書が完成しました!ありがとうございました!