メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

リンクなしで数式を別のワークブックにコピーする方法

Author Kelly Last modified

Excelでは、ワークブック間で数式をコピーまたは移動する際、貼り付けた数式が元のワークブックにリンクされないようにしたいことがあります。これは、データの統合、モデルの共有、または数式のロジックを別ファイルで再利用する際によく発生します。しかし、通常ワークブック間で数式をコピー&ペーストすると、不要な外部参照が生成され、これによりエラーが発生したり、計算が遅くなったり、リンクソースが利用できない時に接続が切れたりすることがあります。幸いなことに、これらのリンクを持ち込まずに正確に数式をコピーする実用的な方法がいくつかあります。下記では、Excelの標準機能や作業を自動化・簡略化できる便利ツールを活用した、さまざまな状況やユーザーの好みに合わせた手順を順を追ってご案内します。


数式を変更してリンクなしでワークブック間でコピーする方法

元のワークブックへの不要なリンクを作成せずに数式をコピーしたい場合は、コピー前に一時的に数式を修正し、貼り付けた後に元に戻す方法が有効です。この方法は、数式の転送がときどきしか必要ない場合や、Excelの標準機能を使いたい場合に特に便利です。

11. コピーしたい数式が含まれる範囲を選択します。たとえば、H1:H6の範囲を選択します。次に、 ホーム タブで、 検索と置換をクリックし、 置換.
a screenshot of enabling the Find and Replace feature
ヒント: 「検索と置換」ダイアログボックスは、次のキーを同時に押すことで素早く開けます: Ctrl + H です。

22. 検索と置換ダイアログで、「検索内容」に等号“=”を、 検索内容 欄に、スペース文字を 置換内容 欄に入力します。「 すべて置換.
a screenshot of configuring the Find and Replace dialog box to replace all = sign in the selected range with a space
」をクリックすると、何件が置換されたかのダイアログが表示されます。「 OK」をクリックし、「検索と置換」ウィンドウを閉じます。

3. 範囲が選択されたままになっている状態で、コピー(Ctrl+C)し、貼り付け先のワークブックに貼り付けます(Ctrl+V)。

4. 貼り付け先ワークブックで貼り付けた範囲を選択し、「ホーム」>「検索と置換」>「置換」またはCtrl + Hで再度「検索と置換」ダイアログを開きます。

55. 検索と置換ダイアログで、検索内容にはスペースだけを、 検索内容 欄に、置換内容として等号“=”を入れ、 置換内容欄に入力します。「 すべて置換.
a screenshot of configuring the Find and Replace dialog box to replace a space in the selected range with an equal sign

6」をクリックし、置換後はポップアップメッセージとダイアログを閉じてください。これで貼り付けたセルが元の数式をそのまま持ち、外部リンクがない状態になります。
a screenshot of formulas that copied exactly from the original workbook

注意&ヒント:

  • 元となるワークブックと貼り付け先ワークブックは、同じExcelインスタンス上で開いている必要があります。
  • この方法では、一時的に元の範囲内の数式が書き換わるため、元に戻したい場合は、検索と置換を逆方向(スペース → “=”)で実行してください。
  • 数式内にスペースが含まれる場合は、より珍しいプレースホルダー(例:§EQ§)をスペースの代わりに使用すると安全です。
  • 検索と置換後は、意図しない変更がないことを必ず再確認しましょう。
  • 単発や少量の作業に最適です。頻繁または大規模な転送には、VBAやアドインの利用を検討しましょう。

複数のワークシート・ワークブックを、一つのワークシート・ワークブックへ簡単に統合

異なるワークブックから数十枚のシートを1つにまとめるのは手間がかかりますが、Kutools for Excelの 統合(ワークシートとワークブック) 機能を使えば、わずか数クリックで完了します!


a screenshot of using Kutools for Excel to easily combine multiple worksheets/workbooks into single worksheet/workbook


数式をテキストに変換してリンクなしでワークブック間でコピーする方法

さらに簡単でリスクの少ない方法をお求めなら、Kutools for Excelに搭載されている「数式をテキストへ変換」機能が便利です。これは、複雑な数式や大量の数式も手作業でのテキスト置換によるミスなしで効率よく変換できます。数式をテキストへ変換することで、新しいワークブックに貼り付けてもExcelがリンクへ変換する心配がなく、ワンクリックで元の数式に復元できます。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手

11. コピーしたい数式を含む範囲を選択し、 Kutools > テキスト > 数式をテキストに変換する.
a screenshot of applying Kutools for Excel to convert between formula and text

2. 選択した数式が瞬時にテキスト表示へ変わります。これらのセルをコピーして貼り付け先ワークブックへ切り替え、目標範囲にペーストします。

3. わりつけ先ワークブックでセルが選択されたままの状態で、Kutools > テキスト > テキストを数式に変換を実行します。セルは外部ワークブックへのリンクなしで、再び機能する数式に戻ります。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手

注意と提案:

  • この方法は、複雑または大量の数式の転送にも適しており、定期利用にも向いています。
  • Kutoolsを使うことで、書式やセル参照も保持されるため、後処理の手間が最小限です。
  • この機能はKutools for Excelのインストールが必要で、Excelリボンから利用できます。
  • 変換後、貼り付け先ワークブックのローカル参照などに依存する式が正しく計算されているか確認しましょう。

正確にコピー機能でリンクなしで数式をワークブック間でコピーする方法

もう一つ効率的なのが、Kutools for Excelの「正確にコピー」機能の活用です。このツールは、複数の数式や書式を正確な状態で新しいワークブックに転送したい場合に特に有効で、リンク化や参照の変化を防ぐこともできます。データの一貫性が求められるデリケートなシートで特に活躍します。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手

1. コピーしたい数式が入った範囲(例:H1:H6)を選択し、「Kutools > 正確にコピー」をクリックします。

2最初の「公式の正確なコピー」ダイアログで、 OK をクリックして進みます。
a screenshot of the range you want to copy and the target cell where you want to paste the copied range

3.2番目のダイアログが表示されたら、貼り付けたいワークブックへ切り替え、目的のセルを選んでOKを押してください。数式も書式も外部参照なしで正確に貼り付けられます。

注意:

  • ダイアログが開いている間にワークブックを切り替えられない場合は、貼り付け先アドレス(例:[Book1]Sheet1!$H$2)の形式で手動入力も可能です。
  • Office Tabを使えば、ダイアログを閉じずに開いているExcelワークブック間を素早く切り替えられます。
  • 不具合やアクセスエラーを防ぐため、ソースと貼り付け先のワークブックが必ず同じExcelインスタンスで開かれているか確認しましょう。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手

実用的なヒント:

  • この方法は、非常に多くの数式や複雑な書式変更なしで正確なコピーが必要な場合に理想的です。
  • 定期的・大量に転送する場合は、テンプレート作成や、Kutoolsの他の一括処理機能を「正確にコピー」と併用するのもおすすめです。
  • 貼り付け先と元のワークブックでワークシート構造が同一であることを再度確認し、#REF! エラーを防ぎましょう。

リソースライブラリのコンテンツでリンクなしに数式をワークブック間でコピーする方法

異なるワークブックで何度も同じ数式を使いたい場合や、重要な数式を個人のショートカットとして保存したい場合、Kutools for Excelの「リソースライブラリのコンテンツ」機能がとても便利です。この機能で数式をリソースライブラリのコンテンツとして保存しておけば、Excelのセッションやワークブックをまたいで即座に再利用でき、作業の効率化やコピペミスの防止につながります。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手

11. 再利用したい数式が入力されているセルをクリックし、数式バーで数式を選択します。
a screenshot of using formula to copy formulas from one workbook to another without link

22. Excelのナビゲーションウィンドウの最も左側で a screenshot of the auto text icon in the Kutools Navigation pane をクリックし、Auto Textウィンドウを有効にします。「 数式 」グループ内で、 a screenshot of the Add button 追加 」をクリックして、選択した数式をリソースライブラリのコンテンツとして保存します。
a screenshot of creating a new auto text entry         a screenshot of configuring the New AutoText dialog box

3. 新しいリソースライブラリダイアログで説明的な名前を割り当て、「追加」をクリックして確定します。

4. 次回、別のワークブックでその数式を使いたい場合は、目的のワークブックを開くか切り替え、目標セルを選んでリソースライブラリのコンテンツからエントリをクリックしてください。数式がそのまま機能する数式として、リンクや値としてではなく挿入されます。

リソースライブラリのコンテンツ(Auto Text)を使うことで、あなただけの数式ライブラリをいつでも活用できます。これは、計算やテンプレートの標準化、同僚と数式を安全に共有するのにも最適です。各ユーザーが自分のワークブックに元のロジックを手軽に再利用できます。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


VBAマクロを利用してリンクなしでワークブック間で数式をコピーする方法

頻繁にワークブック間で数式を移動する、特に大量処理や自動化ワークフローの一環として必要な場合、このVBAマクロでは数式内「=」を一時的なプレースホルダーに変換してリンクを回避し、貼り付け先で元のままの数式を復元します。元のセル自体は変更せず、ダイアログ表示中にワークブックを切り替える必要もありません

1. ソースと貼り付け先、両方のワークブックを開きます。Alt + F11キーを押し、「挿入」>モジュールをクリックし、下記のコードを貼り付けます。

Sub CopyFormulas_NoLinks_NoSwitch()
    Dim src As Range
    Dim rowsCnt As Long, colsCnt As Long
    Dim buf() As Variant
    Dim r As Long, c As Long
    Dim s As String, placeholder As String
    Dim wbName As String, shName As String, addr As String
    Dim tgtTL As Range, tgt As Range
    Dim oldCalc As XlCalculation

    placeholder = "#_EQUAL_#"

    On Error GoTo ExitHandler
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    oldCalc = Application.Calculation
    Application.Calculation = xlCalculationManual

    ' 1) Pick contiguous source range (any workbook)
    Set src = Application.InputBox( _
        Prompt:="Select the source range that contains formulas:", _
        Title:="Copy formulas without links", Type:=8)
    If src Is Nothing Then GoTo ExitHandler
    If src.Areas.Count > 1 Then
        MsgBox "Please select a single contiguous range.", vbExclamation
        GoTo ExitHandler
    End If

    rowsCnt = src.Rows.Count
    colsCnt = src.Columns.Count

    ' 2) Get destination info WITHOUT switching windows during a modal dialog
    wbName = Application.InputBox( _
        Prompt:="Enter DESTINATION workbook name (as shown in title bar, e.g., Book2.xlsx):", _
        Title:="Destination workbook", Type:=2)
    If wbName = "" Then GoTo ExitHandler

    shName = Application.InputBox( _
        Prompt:="Enter DESTINATION sheet name (e.g., Sheet1):", _
        Title:="Destination sheet", Type:=2)
    If shName = "" Then GoTo ExitHandler

    addr = Application.InputBox( _
        Prompt:="Enter top-left DESTINATION cell address (e.g., A1):", _
        Title:="Destination top-left cell", Type:=2)
    If addr = "" Then GoTo ExitHandler

    ' 3) Resolve destination references
    Dim wb As Workbook, ws As Worksheet
    On Error Resume Next
    Set wb = Application.Workbooks(wbName)
    On Error GoTo ExitHandler
    If wb Is Nothing Then
        MsgBox "Workbook '" & wbName & "' is not open.", vbExclamation
        GoTo ExitHandler
    End If

    On Error Resume Next
    Set ws = wb.Worksheets(shName)
    On Error GoTo ExitHandler
    If ws Is Nothing Then
        MsgBox "Worksheet '" & shName & "' not found in '" & wbName & "'.", vbExclamation
        GoTo ExitHandler
    End If

    On Error Resume Next
    Set tgtTL = ws.Range(addr)
    On Error GoTo ExitHandler
    If tgtTL Is Nothing Then
        MsgBox "Invalid address '" & addr & "'.", vbExclamation
        GoTo ExitHandler
    End If

    Set tgt = tgtTL.Resize(rowsCnt, colsCnt)

    ' 4) Build a text buffer so we never touch the source cells or use the clipboard
    ReDim buf(1 To rowsCnt, 1 To colsCnt)
    For r = 1 To rowsCnt
        For c = 1 To colsCnt
            If src.Cells(r, c).HasFormula Then
                s = src.Cells(r, c).Formula
                ' Replace only the leading "=" for speed/safety
                If Left$(s, 1) = "=" Then s = placeholder & Mid$(s, 2)
                buf(r, c) = s
            Else
                buf(r, c) = src.Cells(r, c).Value
            End If
        Next c
    Next r
    tgt.Value = buf

    ' 5) Restore placeholders to live formulas in destination
    For r = 1 To rowsCnt
        For c = 1 To colsCnt
            If VarType(tgt.Cells(r, c).Value) = vbString Then
                s = CStr(tgt.Cells(r, c).Value)
                If Left$(s, Len(placeholder)) = placeholder Then
                    s = "=" & Mid$(s, Len(placeholder) + 1)
                    tgt.Cells(r, c).Formula = s
                End If
            End If
        Next c
    Next r

    MsgBox "Formulas copied and restored successfully (no external links).", vbInformation
ExitHandler:
    On Error Resume Next
    Application.Calculation = oldCalc
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

2. Alt + F8CopyFormulas_NoLinks_NoSwitchを実行します。ソース範囲を選択後、貼り付け先のワークブック名・シート名・左上セルのアドレスを入力するだけでOK。プロンプト中にウィンドウを切り替える必要はありません。マクロは貼り付け先にプレースホルダーテキストを書き込んでから、外部リンクのない生きた数式に復元します。

注意:

  • 貼り付け先のウィンドウ名やシート名は正確に一致している必要があります(例:Report.xlsxSheet1)。
  • ソースの選択範囲は、ひと続きの範囲(連続したブロック)である必要があります。複数個所を指定するにはマクロを複数回実行するか、src.Areasでループに対応させてください。
  • 数式に文字列として「=」が含まれる可能性がある場合は、プレースホルダーをより珍しいトークン(例:§EQ§)に変更し、“先頭の=のみ”のロジックを維持しましょう。

ヒント&注意事項:

  • クリップボードは使わず、値を直接転送するので高速かつ安定しています。
  • 書式も含めたい場合は、数式復元後にsrc.Copytgt.PasteSpecial xlPasteFormatsのような手順を追加してください。
  • 保存時は.xlsm形式で保存し、マクロを有効化してください。初回は必ずコピーでテストを行いましょう。

デモ:リンクなしでワークブック間で数式をコピーする方法

 

Kutools for Excel: あなたの指先に 300 以上の便利なツールが集結!永久無料のAI機能をお楽しみください!今すぐダウンロード!

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...


Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に

  • Word、Excel、PowerPointでタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得