- ベストアンサー
エクセルで作業セルを切り取ると「#REF!」になる
お世話になります。 仕事で、長年いろんな表を作っていますが、驚くべき事例が出てきましたので、対処方法を教えてください。 作業日誌やデータ表などを作っています。 作業日誌は、生データに対して加工するため「作業領域」と「印刷領域」に分けてあります。 PCは現場とつながっていて、現場の人がデータを入力しています。 現場の人はPCに対して殆ど無知ですが、「表の中に数字を入力するだけ」ですから、今までは困りませんでした。 ところがこういったことがおきました。 現場で「A5」~「A10」に入力すべきデータを「B5」~「B10」に入力したのです。それに気づいた現場の人が、「切り取り」「貼り付け」をしたのです。 すると、「印刷領域」に「#REF!」が発生してしまいました。(印刷領域は保護をかけてあります) そこで、=A1 と書いてあるところを =INDEX(A5:A10、ROW(A1)) などとしました。 しかし、 =RIGHT(E6,3) =LEFT(G6,G47-3) =IF(E7="","",E7*0.002) =ROUND(E17*1.1,0) (本当はもっと長い関数ですが)などいろいろあります。 書き込み欄に保護を書けるわけにもいかないし、「切り取り」が出来ないようにする機能もないし、どうしたらいいのでしょう。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>書き込み欄に保護を書けるわけにもいかないし 書ける× 掛ける○ この場合、印刷領域にだけ保護を掛けるのではなく、 作業領域にも保護を掛けた方が宜しいのでは? 「ツール」「保護」から「範囲の編集を許可」で 範囲を指定してから、「保護」を掛ける。 (範囲は、大雑把に指定しても良いのですが、 入力セルを細かく指定すると、 入力しないセルの選択も制限します。)
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
あまり手間をかけずに修正するならINDIRECT関数を利用する方法はいかがでしょう =A1 =INDIRECT("A1") どちらもA1の値を参照しますが、A1セルが削除されたとき前者は#REF!エラーとなりますが、後者はエラーとなりません。お試し下さい
お礼
他の部分では、INDIRECT関数は使っているのですが、=A1が当たり前になっていて、気がつきませんでした。 ありがとうございます。 でも今回は、No3の方の回答を採用させていただきます。
- masah1r0
- ベストアンサー率0% (0/4)
ただの貼り付けにしないで、 右クリックの「形式を選択して張り付ける」 で値のところだけ選ぶと「#REF!」はでない気がします。 現場の方にやり方を教えてあげるしかない気がしました。 あと、コントロール+Zで戻れることも教えてあげるといいと思います。 作業するPCのところにメモを張ったりするといいのかと思ったりまします。
補足
今は、「切り取り」は使わず「コピー」「貼り付け」「デリート」で対処してと言ってありますが、「完成度の高さ」を目指したかったのです。 しかし、保護が掛っているのに、簡単に壊れるなんて思っても見ませんでした。
お礼
ありがとうございました。出来ました。 「範囲の編集を許可」は、いつも見ている語句なのに、こういったことが出来るのですね。 >書ける× 掛ける○ この意味も出来てわかりました。保護を掛けたのに書けるわけですね。 >入力セルを細かく指定すると、入力しないセルの選択も制限します 最初は何のことかわからなかった、この意味もわかりました。 大雑把に指定すると、保護が掛かった範囲も書き込み出来てしまうのですね。 ありがとうございました。