• ベストアンサー

初心者です エクセルで隣のシートのデータを利用したい

初心者です エクセルでシート1に大量にデータが入力されています。 そのデータは頻繁に変更があり、追加・削除をします。 隣のシート2、シート3、シート4・・・は、16件と一番下に小計の 計算式が入っていて、最後のシート9には小計をまとめた合計の式が 入っています。 以前、シート2~最終シートの中で追加・削除した時、小計の式が崩れてしまい、その都度手直ししていました。 表が単純ではないので、計算式を壊さないようにしたいと思い、 シート1に全データを入力して、シート2以降に順番に 飛ぶようにしようとしてチャレンジしてみましたが、 シート1のデータに挿入・削除をしてしまうとシート2に=シート1!#REF!となります。 シート1のデータで追加削除しても、エラーにならないように、 つねにシート1のA1のデータをシート2のA1(以下16件)、    シート1のA17のデータをシート3のA1(以下16件)、    シート1のA33のデータをシート4のA1(以下16件)・・・ とできないでしょうか? 仕事で毎日変化する状況の資料作成に必要です。 説明が不十分で申し訳ありません。明日出勤したらまたチャレンジしてみたいのでそれまで、何かアドバイスがあれば宜しくお願い致します。

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

  • ベストアンサー
回答No.3

シート2のA1に =INDEX(シート1!A:A,ROW(A1),1) シート3のA1に =INDEX(シート1!A:A,ROW(A1)+16,1) シート4のA1に =INDEX(シート1!A:A,ROW(A1)+16*2,1) ・・・ として、それぞれのシートでA2以下にコピペ。 もし、シート名が本当に「シート2」-「シート8」とかなら、 =INDEX(シート1!A:A,ROW(A1)+16*(RIGHT(CELL("filename",A1),1)-2),1) の式のみですべてのシートに対応できるはずです。

noname#200218
質問者

お礼

とても分かりやすく有難うございます。 早速後者の式をコピーして、シート名を変更して入力してみました! 本当に助かりました。 そこでもう一つ質問があります。 シートの中で金額を入力するセルが殆どで、0の数字を 表示しないようにツール-オプションでゼロ値のチェックを はずしたのですが、%の表示が一列あります。 そこは0と表示させたいのですが、何か方法はありますか?

その他の回答 (4)

回答No.5

>そこは0と表示させたいのですが、何か方法はありますか? ゼロ値のチェックは元に戻し、0を表示したいくないセルの表示形式を変更します。 http://kokoro.kir.jp/excel/number-custom.html

noname#200218
質問者

お礼

なんとか思い通りに出来ました! とても助かりました! 本当に有難うございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.1です! たびたびごめんなさい。 前回の回答は検証せずに投稿してしまいました。 確かにエラーになってしまいます。 前回の回答は無視してください。 どうも何度も失礼しました。m(__)m

noname#200218
質問者

お礼

とんでもありません。 質問にお答えしていただき有難うございました。

回答No.2

セルを直接参照すると、シートが違ってても同じでも、セルの挿入 や削除に連動して参照先が移動します。普通はそういう仕様の方が 列の追加などの場合も修正が不要なので便利ですね。 で、今回のようにそれでは不都合な場合は、セルを間接的に参照す ればいいんです。間接的は英語でindirectなので、indirect関数で すね。 =indirect("Sheet1!A1") これで相手の編集に関係なく常に「Sheet1のA1」を参照します。

noname#200218
質問者

お礼

今日新たに必要な書類を作成することになり、 早速使ってみました!!! 有難うございます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 解釈が間違っていたらごめんなさい。 単純に、Sheet1のA1~A16セルをSheet2のA1~A16 Sheet1のA17~A33セルをSheet3のA1~A16・・・ という具合に表示できれば良いといことでしょうか? 一応そういうことだとしての回答になります。 Sheet2のA1セルに =IF(Sheet1!A1="","",Sheet1!A1) として16行目までオートフィルでコピー Sheet3のA1セルに =IF(Sheet1!A17="","",Sheet1!A17) として同じくオートフィルで16行目までコピー という具合に全てのSheetに同じ作業を繰り返してはダメですか? 以上、参考になれば幸いですが、 かなり外している可能性もありますので その場合はごめんなさいね。m(__)m

関連するQ&A