エクセルで毎日のデータ自動入力方法

このQ&Aのポイント
  • エクセルで毎日のデータ自動入力するための式を教えてください。
  • エクセルで原本から新しいシートにデータをコピーし、左隣の数値を自動入力する方法を教えてください。
  • エクセルで1から31までのシート名を使用しながら、毎日のデータを自動入力する方法を教えてください。
回答を見る
  • ベストアンサー

エクセルがわかりません

原本があり、毎日その原本をコピーして用紙を使用しています。 シート名は1 2 3 4・・・と一ヶ月の31まで使っています。 前日入力した左隣のシートのA1の数値を、新しく右側にコピーしたシートのA2に自動入力したいです。 下の式を使ってみると、1→2→3と1桁のシート名の時は上手くいきましたが、9→10以降は「#REF」と表示されてしまいます。 =INDIRECT(""&RIGHT(CELL("filename"),1)-1&""&"!A1") どのような式を入力すれば使えますでしょうか? (1)原本から右端にコピーして使用 (2)原本から新しくコピーしたシートの左隣の数値を自動入力 (3)1 2 3というシート名で使用 (4)シート名が31まで使えること 上記4点を満たす式を教えて下さい。

  • XTAH
  • お礼率61% (98/160)

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.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")

XTAH
質問者

お礼

完璧な発注書が完成しました!ありがとうございました!

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

=INDIRECT((SUBSTITUTE(RIGHT(CELL("filename"),2),"]","")-1)&"!A1") 元の式はシート名の右端1文字しか見ていませんのでシート名が2ケタになるとおかしくなっています。

XTAH
質問者

お礼

無事解決致しました。 ありがとうございます。

関連するQ&A

  • エクセルで左隣シートの特定のセルの値を表示させたい

    エクセルで左隣シートの特定のセルの値を表示させたいのですが、 どのようにすればよいでしょうか? 似たような質問の回答をいくつか試したのですが、 よく理解できていないため、うまく応用できずエラーになってしまいます。 ="No."&SUBSTITUTE(MID(CELL("filename",$A$1),FIND("(",CELL("filename",$A$1))+1,5),")","") とか =INDIRECT(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1&"日!A"&ROW(F24)) とか =SUM(INDIRECT("'"&(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1)&"日'!c5"),F24) とか といった式が参考になりそうですが、結局どう書き変えればいいのかわかりません。。 具体的には、シート名が「04」「05」…「12」「01」「02」「03」と1年分の12シートあります。 半角2桁のみのシート名です。 05以降のシートには、それぞれF1セルに、 「左隣シートのF24のセルの値を表示させたい」のです。 (F24のセル自体は「=F11+F23」という式が入力されています。) 例の式の「日」とか「row()」とかは必要ないと思いますが、 消しただけではムリそうなのでそのままコピーしています。 おわかりになる方、どうぞよろしくお願いします。

  • excelでファイル名を自動入力する方法

    excelでファイル名をセルに自動入力する方法を探しています。 =MID(CELL("filename"),SEARCH("[",CELL("filename"))+1, SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-5) 上記の方法で自動入力可能なのですが、あとから同時に他のファイルを開いたりすると、そのファイル名がセルに入力されてしまい、困っています。 複数ファイルを同時に開いても、当該ファイル名を入力するようにはどうしたらよいでしょうか? 【詳細】 ファイル1.xlsのセルA1に上記式をセットしてある状態でファイル1.xlsを開くと、セルA1には「ファイル1」と入力されているが、あとからファイル2.xlsを開くと、セルの内容が「ファイル2」に変わってしまう。

  • Excel で別シートのセル値を表示させる(初心者)

    Excel で一つ前のシートにあるセル値を表示させる。 例えば"Sheet1"と"Sheet2"が有るとして"Sheet2"のセル"A1"へ "Sheet1"のセル"A1"の値を表示させるには、=Sheet1!A1 と入力しますが、 この<Sheet1>の部分だけを別のセル "A2" で入力した値に変更したいです。 (気持ちとしては、A2!A1) どの様にすれば良いでしょうか? 常にシートをコピーして作成し、常に一つ前のシートの同位置セルの値を 表示させたいのが狙いで、シート名は数値に設定して "A2"へ MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)-1 などを入れて方法があれば作成しようと考えています。 マクロも分かりません、関数など何か方法があればご教授お願いします。

  • エクセル2000のCELL関数

    便宜上、シートの左上にタイトルのようなものを表示させたくて、セルA1に =CELL("filename") という関数を入力しました。 まず最初に1つのシートにこの関数を入力して、あとはそのシートをコピーして使っているのですが、複数のシートのうちの1つのシート名を変更すると、なぜか全てのシート名が同じように変更されてしまいます。 アクティブシート以外のシート名を変更しないようにするにはどうしたらいいでしょうか。

  • エクセル関数 シート名をセルに反映させたい

    シート名をセルに反映させたいのですが,以下のようなことができるでしょうか。 =CELL("filename",A1)を使えば,シート名を反映させられるようであることは,ネットで調べて分かったのですが,たとえば,シート2を作成した時に,シート1のA2のセルのところに,自動でシート2の名前を入力できるような関数はありますか?その後,シート3を作成した時に,同様にシート1のA3のところに自動で入力したいのですが,そのようなことが可能でしょうか。 説明が下手で申し訳ないのですが…

  • エクセルで入力作業の省力化

    (1)シート1のA5に数値1が入力されるとB5~Q9の範囲がシート2にコピー(自動入力)される (2)シート1のA10に数値2が入力されるとB10~Q14の範囲がシート3にコピー(自動入力)される (3)シート1のA15に数値3が入力されるとB15~Q19の範囲がシート4にコピー(自動入力)される (4)さらにシート1のA20に数値1が入力されるとB20~Q24の範囲がシート2の(1)でコピー(自動入力)された所の下に追加されるようにコピー(自動入力)される ちょっと複雑ですが、どのようにしたら出来るようになりますか? よろしくお願いします。

  • EXCELでの式の書き方

    エクセルでの式の書き方を教えてください。 ファイルの中に2つのシートを作成しています。シート名は「田中4月」 「H19.4月集計」です。 「H19.4月集計」は「田中4月」で一覧入力したデータを集計してるシートです。 やりたいことは、下記2パターンです。セルにどのように式を入力すればよいか教えてください。 (1)「H19.4月集計」のシートで、シート名「H19.4月集計」の年月を使用し、   4月の場合”平成19年4月30日現在"   5月の場合”平成19年5月31日現在"とセルに表示したい。   年月を取得する方法は、調べました。   =TEXT(SUBSTITUTE(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31),"月集計","")&".1","ggge" & "年" & "m" & "月") (2)「H19.4月集計」で「田中4月」のセルA10の内容を表示したい。  セルに"=田中4月!A10"と入力すればいいのですが、  これを  田中=「H19.4月集計」のA2のセルの内容 ※A2にはダイレクトで"田中”と入力してあります。  4月=シート名「H19.4月集計」から月を取得  を使用して式を書きたいと思います。  今後、5月、6月と増えているため式にしたいと思います。 よろしくお願いします。   

  • =CELL("filename")で取得したファイル名をHYPERLI

    =CELL("filename")で取得したファイル名をHYPERLINK関数で使いたい。 エクセルで「目次」というファイルを作り、そこからHYPERLINK関数で別のファイルにリンクを貼りたいと思っています。 万が一ファイルの場所が移動した場合にも、リンクが切れないように、=CELL("filename")で取得したブック名をHYPERLINK関数で使ったらどうかと思うのですが、うまくできません。 考えた方法は、 (1)ファイル名(テスト1)sheet1のA1のセルに=CELL("filename")と入力したものをコピーして、ファイル名(目次)sheet1のA1にリンク貼り付けする。 (2)(1)で表示された(目次)sheet1のA1のファイル名をHYPERLINK関数の中に使って、リンクを貼れるようにする。 としたいのですがどのように書けばいいのでしょうか。 よろしくお願いいたします。

  • シート内のセルに各シート名を表示するには

    セルに下記の値を入力してシート名を取得しています。 RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) シート名を取得できたのでこのシートを雛型にしてシートをコピーしてシート名を変更したら雛型側も変更されてしまいました。 例えば  シート名が「シート1」のセルに「シート1」  シート名が「シート2」のセルに「シート2」  シート名が「シート3」のセルに「シート3」 というようにしたいのですがうまくいかず困っています。 ※セルとは上記の値を組み込んでいるセルです。 各シート内のセルにそれぞれの各シート名を表示するようにどうしたらいいのでしょうか? 説明が下手ですみませんが理解していただけましたでしょうか? 宜しくお願いします。

  • 【エクセル】一つ前のシートの同じ場所のセルをコピーする方法

    色々と調べてみたのですが分からないので教えて下さい。 シートの名前は4、5、6・・・のように数字だけです。 現在 =INDIRECT("'"&RIGHT(CELL("filename"),1)-1&"'"&"!A7") のように一つ前のシートの同じ場所のコピー(A7セルにおいては) はできているのですが、"A7"が相対参照になっていないため、 他のセルにコピーしても一つ前のシートのA7セルの値しか表示できません。 どうかにか一つ前のシートの同じ場所のセルを表示できる うまい式がありましたら教えて下さい。

専門家に質問してみよう