この記事では「エクセルにて数式・関数などのが上手くコピーできない・反映されない・ずれる時の解決策」について解説していきます。
本件においては、下記項目を確認することで問題解決となることが多いです。
それでは、具体例を用いて順番に見ていきましょう。
エクセルにてコピーできない(関数や数式):貼り付けできない時の解決策1【上手くいかない:ずれる】
下記サンプルにおいて、X=6以降に数式を入力する場面を想定しています。
ただし、シートの保護が適用されている状態です。
*「シートの保護の解除」というアイコンがあるので、下記シートは保護されていることを意味する
セルB6をコピーし、セルB7に貼り付けを行ったところ、このようなメッセージが表示され、貼り付けられませんでした。
リボンより「校閲」をクリックし、「保護」グループに含まれている「シートの保護の解除」をクリックします。
アイコンが「シートの保護」に変わっていれば、保護が解除されています。
この状態で再度同じ操作をしたところ、無事、数式をコピーできました。
オートフィルについても、同様に実行可能であることを確認しておきましょう。
「変更しようとしているセルやグラフは保護されている…」というメッセージが表示された場合は、直ちにシートの保護状態を確認しましょう。
エクセルにて数式・関数がコピーできない:ずれる時の解決策2【貼り付けできない:そのまま】
事例1と同じく、X=6以降に数式を入力する場面を想定しています。
ただし、今度は計算方法が「手動」にされている想定です。
事例1と同様にセルB6をコピーし、セルB7に貼り付けます。
すると、メッセージは何も表示されませんが、想定している出力と異なってしまいました。
オートフィルを実行してみましたが、やはり正しい計算が行われていません。
ここで、F9キーを押してみましょう。
これにより正しく値が出力されたのであれば、数式自体に問題はないといえます。
VBAには計算方法を変更するコードが存在します。
マクロ実行時に計算方法を「手動」に変更し、すべての処理が完了したら、再び「自動」に戻すといったやり取りが一般的です。
これは、マクロの実行速度を低下させないために行うものであります。
ただし、何らかの手違いによりマクロにて「自動」に戻すことができなかった場合にこのような事態になるといえます。
リボンより「数式」をクリックし、「計算方法」グループに含まれている「計算方法の設定」をクリックし、「自動」を選択します。
再び、数式のコピーと貼り付け及びオートフィルを実行します。
正しい値が出力されるようになれば、問題解決です。
エクセルにてコピーがうまくいかない(式や関数など)時の解決策3【反映されない】
事例1,2と異なり、Xが1つしかありません。
Xの値の*乗を求めるのがここでの想定です。
使用している関数について解説すると、ROW関数は実行したセルの行番号を出力します。
すなわち
セルB3で実行: ROW()=3
…
となります。
上記ではセルB2が開始の行となるので「ROW()-1」としています。
セルB2をコピーし、貼り付けします。
出力される値は4の2乗、すなわち16という想定ですが、実際は0となってしまいました。
数式を確認したところ、参照先がA2→A3へと変わっています。
セルA3は空欄で数値としては0と扱われるため、このような事態になっています。
この場合の解決方法の1つは絶対参照を使用することです。
セルB2の数式を「=$A$2^(ROW()-1)」に変更します。
「$」が絶対参照を表す記号となり、F4キーを押すことで絶対参照⇔相対参照の切り替えを行うことができます。
ENTERを押して確定させ、他のセルにコピーしてみましょう。
今度は想定通りの結果となるはずです。
勿論、オートフィルも望むところまで実行可能です。
まとめ エクセルにて数式のコピーがうまくいかない・ずれる時の解決策
この記事では「エクセルにてコピーできない(数式や関数)・反映されない・ずれる場合の対策【貼り付けできない】」について解説しました。
数式は便利ではありますが、その数式が突然おかしな動作をしたら誰もが「あれっ?」となることでしょう。
しかし、この記事を述べてきたを知っていればトラブルに対して冷静に対応できる場面も少なからず増えてくることでしょう。
この記事がトラブル解決のためのヒントとして活用されることになれば非常に幸いです。
コメント