- 締切済み
excel:コピーしたときに、式が書き変わってしまうのを防ぎたい
度々すみません。。皆様のお知恵をお借りしたいです。 「例題1.xls」というファイルの あるシートに =電話!A1 と、「"電話"シート」のA1を参照するような式を書きました。 同じように、 「例題2.xls」というファイルの あるシートに上記のファイルから式をコピーしたところ、 =[例題1.xls]電話!A1 と、なってしまいました。 式をコピーしたときに、 コピー元ファイル「例題1.xls」の「"電話"シート」を参照するのではなく、 自分のファイル「例題2.xls」の「"電話"シート」を参照したいのですが、 どうすればよいでしょうか。 win2000、excel2000です。よろしくおねがいします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- FlossenEngel
- ベストアンサー率77% (132/170)
シート全体を選択して[編集]-[リンクの設定]~リンク元の変更で自ファイルを指定すればよいのでは…?
- MSZ006
- ベストアンサー率38% (390/1011)
[例題1.xls]というのを消す際に、メニューの「編集」→「置換」を使えば少しは手間が省けます。「検索する文字列」に[例題1.xls]を入力、「置換後の文字列」には何も入れないで「すべて置換」を押します。
お礼
回答ありがとうございます! やはり「後から消す」という手順を踏むしかないということですね。 「[ファイル名]を消すマクロ」なるものを作ると良いでしょうか。。 不精な私はVBA&マクロ食わずだったので、これから勉強したいと思います。 蛇足ですが実際の式は下記のような感じです。 (コピー前) =IF(VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),棚卸表!R[3]C[-1]:R[32]C[6],3)="","",VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),棚卸表!R[3]C[-1]:R[32]C[6],3)) (コピー後) =IF(VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),[材料管理_IC.xls]棚卸表!R[3]C[-1]:R[32]C[6],3)="","",VLOOKUP(VALUE(MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,31)),[材料管理_IC.xls]棚卸表!R[3]C[-1]:R[32]C[6],3)) ごちゃごちゃうるさい式ですが(要領が悪いとも言います^^;) 要は[]内がいらないわけです。
- Good-S15
- ベストアンサー率33% (149/439)
こんにちは。 #1の方が回答されている方法でもイイですし、 (形式を選択して貼り付けから、「数式」をチェックしOKボタンクリック) >=電話!A1 >と、「"電話"シート」のA1を参照するような式を書きました。 とあるので、ご自分で書き込んだのならば、 単純に、 =[例題1.xls]電話!A1 の [例題1.xls]を消せばイイのではないでしょうか?
補足
回答ありがとうございます! 質問では簡単にひとつの式を書きましたが、 実際は複数行に複雑な関数が入力されており、 ひとつづつ消して行くのはつらいです。。 しかも30個くらいのファイルに、シートを丸コピしたいので 手間を増やしたくないという理由があります。
- Mizyu
- ベストアンサー率41% (245/593)
貼り付けのときに右クリックして「形式を選択して貼り付け」を選んでやればできると思います。
補足
回答ありがとうございます! 「形式を選択して貼り付け」ですと、 「数式」選択では同じ結果になりますし、 「値」選択では式はコピーされないですよね。 うまくいっている例は、セルコピーではなく、 セルの中の文字コピーなのですが、 そうすると1セルづつコピペしなければなりません。。 私が勘違いしているようでしたら申し訳ありません。
お礼
回答ありがとうございます! できましたっ! この機能、知りませんでした! 一瞬で目が覚めましたっ!(仕事中…) セル指定の$みたいに、 関数のオプションで、式を固定することができるかなぁと探していたのですが 無理そうですね。 このやり方でいこうと思います。 ありがとうございました。