リンク シフトなしで数式をコピーする

問題

このような単純なテーブルがあるとします。このテーブルでは、2 つの都市で毎月の金額が計算され、合計が黄色のセル JXNUMX のレートでユーロに変換されます。

リンク シフトなしで数式をコピーする

問題は、範囲 D2:D8 を数式と共にシートの別の場所にコピーすると、Microsoft Excel がこれらの数式のリンクを自動的に修正し、それらを新しい場所に移動してカウントを停止することです。

リンク シフトなしで数式をコピーする

タスク: 数式を含む範囲をコピーして、数式が変わらず同じままで、計算結果が保持されるようにします。

方法 1. 絶対リンク

前の図からわかるように、Excel は相対リンクのみをシフトします。 黄色のセル $J$2 への絶対 ($ 記号付き) 参照は移動していません。 したがって、式を正確にコピーするために、すべての式のすべての参照を一時的に絶対参照に変換できます。 数式バーで各数式を選択し、キーを押す必要があります F4:
リンク シフトなしで数式をコピーする
もちろん、セルの数が多いと、このオプションはなくなります。面倒です。

方法 2: 数式を一時的に無効にする

コピー時に数式が変更されないようにするには、(一時的に) Excel がそれらを数式として扱わないようにする必要があります。 これは、等号 (=) を、ハッシュ記号 (#) やコピー時のアンパサンド (&&) のペアなど、通常は式に含まれない他の文字に置き換えることで実行できます。 このため:

  1. 数式で範囲を選択します (この例では D2:D8)
  2. クリック Ctrl + H キーボードまたはタブで ホーム – 検索と選択 – 置換 (ホーム — 検索と選択 — 置換)

    リンク シフトなしで数式をコピーする

  3. 表示されるダイアログボックスで、探しているものと置き換えるものを入力し、 計測パラメータ (オプション) 明確にすることを忘れないでください 検索範囲 – 数式. 押す すべて交換 (全て差し替え).
  4. 非アクティブ化された数式を含む結果の範囲を適切な場所にコピーします。

    リンク シフトなしで数式をコピーする

  5. 交換する # on = 同じウィンドウを使用して戻り、機能を数式に戻します。

方法 3: メモ帳でコピーする

この方法は、はるかに高速で簡単です。

キーボードショートカットを押す Ctrl+Ё またはボタン 数式を表示 タブ (数式 — 数式を表示), 式チェックモードをオンにするには、結果の代わりに、セルに計算に使用された式が表示されます。

リンク シフトなしで数式をコピーする

範囲 D2:D8 をコピーして、標準に貼り付けます ノート:

リンク シフトなしで数式をコピーする

貼り付けたものをすべて選択し (Ctrl + A)、再度クリップボードにコピーし (Ctrl + C)、シートの必要な場所に貼り付けます。

リンク シフトなしで数式をコピーする

ボタンを押すだけです 数式を表示 (数式を表示)Excel を通常モードに戻します。

注: この方法は、セルが結合された複雑なテーブルでは失敗することがありますが、ほとんどの場合は正常に機能します。

方法 4. マクロ

参照をシフトせずにこのような数式のコピーを頻繁に行う必要がある場合は、これにマクロを使用するのが理にかなっています。 キーボード ショートカットを押す Altキー+ F11 またはボタン ビジュアルベーシック タブ 開発者 (デベロッパー)、メニューから新しいモジュールを挿入します インサート – モジュール  このマクロのテキストをそこにコピーします。

Sub Copy_Formulas() Dim copyRange As Range, pasteRange As Range On Error Resume Next Set copyRange = Application.InputBox("コピーする数式を含むセルを選択します。", _ "数式を正確にコピーします", Default:=Selection.Address, Type := 8) If copyRange Is Nothing Then Exit Sub Set pasteRange = Application.InputBox("貼り付け範囲を選択します。" & vbCrLf & vbCrLf & _ "範囲は元のセル範囲と同じサイズでなければなりません " & vbCrLf & _ " " , "数式を正確にコピー", _ Default:=Selection.Address, Type:=8) If pasteRange.Cells.Count <> copyRange.Cells.Count Then MsgBox "コピーと貼り付けの範囲のサイズが異なります!", vbExclamation, "コピー エラー " Exit Sub End If PasteRange Is Nothing Then Exit Sub Else pasteRange.Formula = copyRange.Formula End If End Sub

ボタンを使用してマクロを実行できます。 マクロ タブ 開発者 (開発者 — マクロ) またはキーボードショートカット Altキー+ F8. マクロを実行すると、元の数式を含む範囲と挿入範囲を選択するよう求められ、数式が自動的にコピーされます。

リンク シフトなしで数式をコピーする

  • 計算式と結果を同時に表示できる便利な機能
  • Excel の数式で R1C1 参照スタイルが必要な理由
  • 数式ですべてのセルをすばやく見つける方法
  • PLEXアドオンから正確な数式をコピーするツール

 

コメントを残す