質問: エクセルのコピペによる計算式エラー ・シート1:シート名「手順1」・シート2:シート名「手順2」・シート2(シート名「手順2」)のセルa2に=if(手順1!a2="","",手順1!a2)と計算式が入っています。手順1シートのセルa500のデータを、手順1シートa2にコピペする場合は、手順2シートa2セルの計算式は作動し、問題なく表示されます。ただ、コピペでなく、切り取り&貼り付けを、手順1シート セルa500のデータから、手順1シートa2に行う場合、手順2シートa2セルの計算式はエラーが発生します。エラー内容:=if(手順1!#ref!="","",手順1!#ref!)これを回避し、切り取り&貼り付けでも綺麗に計算結果が表示されるようにするにはどのように計算式を変更すればよいでしょうか。
回答: ecマスターズの田中です。先の件も含め、基本的には、手順1!bp2などのセル参照を、先にご案内差し上げた式に含まれておりますindirect("手順1!"&address(row(bp2),column(bp2)))の形式に置き換えていただければ結構です。セルの位置(上記の場合、bp2)を2箇所書き換える必要がございますことを予めお含みおきください。通常の書き方ですと、手順1のセルを基準に参照する位置を決めるため、手順1のセルを切り取ることで数式も一緒に移動してしまいますが、上記の関数に置き換えることで、手順2の同じ位置にあるセルを基準にするよう変更することができます。1行になった数式に対し、上記変更を加えようとするととても複雑でわかりづらいので、online excel formula beautifierhttp://excelformulabeautifier.com/をご活用ください。左上の入力欄に、編集前(後)の数式を貼り付け、右のプルダウンを「beautify」にすると編集しやすい形に、「minify」にすると、1行にまとめて実際に設定できる形に変換することができます。