Excel中級者

Excelで別のセルに値を自動反映する方法|シート間参照・VLOOKUP・リンク貼り付けを完全解説

しんたろ。

Excelで「あるセルに入力した値を、別のセルに自動で反映させたい」と思ったことはありませんか?

例えば、入力シートに入力したデータを集計シートに自動表示したり、マスターデータから別シートに情報を引っ張ったりする場面は、実務で頻繁に発生します。

本記事では、同じシート内・別シート・別ブック間でセルの値を自動反映する7つの方法を、目的別に解説します。

この記事でわかること
  • セル参照(=A1)で値を反映する基本
  • 別シートのセルを参照する方法(シート参照)
  • 別ブック(別ファイル)のセルを参照する方法
  • VLOOKUP/XLOOKUPで条件に合うデータを自動取得する方法
  • リンク貼り付けで反映する方法
  • INDIRECT関数で動的にシート参照する方法
  • Power Queryで別ブックのデータを取り込む方法
この操作、VBAで一瞬で自動化できます
まずは関数の使い方を解説し、最後にVBA自動化コードも紹介します
‘ 数式を値に一括変換するマクロ
Sub 数式を値に変換()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim rng As Range
    Set rng = ws.Range(“B2:B5”)
    rng.Value = rng.Value
    MsgBox “数式が値に変換されました”
End Sub
下のデモで実行結果を確認できます
📊 売上管理.xlsx – Excel
fx =C2*D2
AB
1 商品売上
2 商品A =C2*D2 180,000
3 商品B =C3*D3 237,500
4 商品C =C4*D4 136,000
5 商品D =C5*D5 192,000
準備完了 100%
4件の数式が値に一括変換されました!
⚠ 元に戻せないため、事前にバックアップを取ることをお勧めします

セル参照で値を自動反映する方法【基本】

同じシート内のセル参照

最も基本的な方法です。反映先セルに=参照元セルと入力するだけです。

セル参照3パターン(同シート・別シート・別ブック)の概念図
3段階のセル参照パターン

例: B1セルにA1セルの値を反映

=A1

参照元のA1を変更すると、B1も自動的に変わります。

絶対参照と相対参照の違い

参照方式書き方動作
相対参照=A1コピーするとずれる
絶対参照=$A$1コピーしてもずれない
複合参照=$A1 or =A$1列 or 行だけ固定

F4キーで参照方式を切り替えられます(A1 → $A$1 → A$1 → $A1)。

別シートのセルを参照する方法

基本構文

=シート名!セル番地

例: 「入力シート」のA1セルを参照

=入力シート!A1

シート名にスペースや特殊文字が含まれる場合はシングルクォートで囲みます:

='入力 シート'!A1

マウス操作で別シート参照を入力する

  1. 反映先のセルで「=」を入力
  2. 参照元のシートタブをクリック
  3. 参照したいセルをクリック
  4. Enterで確定

この方法ならシート名を手入力する必要がなく、入力ミスを防げます。

別シートの範囲を参照する

=SUM(入力シート!A1:A100)

SUM, AVERAGE, COUNTなどの関数と組み合わせて、別シートのデータを集計できます。

別ブック(別ファイル)のセルを参照する方法

基本構文

=[ブック名.xlsx]シート名!セル番地

例:

=[売上データ.xlsx]Sheet1!A1

ブックが閉じている場合はフルパスが表示されます:

='C:\Users\ユーザー名\Documents\[売上データ.xlsx]Sheet1'!A1

別ブック参照の注意点

項目内容
参照元が開いている場合リアルタイムで反映される
参照元が閉じている場合最後に保存された値が表示される
参照元のファイル名変更リンクが切れる → リンクの編集で修正
セキュリティ警告「リンクの更新」確認ダイアログが表示される

リンクの更新と管理

「データ」タブ →「リンクの編集」で外部参照の管理ができます。

  • リンクの更新: 参照元の最新データを取得
  • リンク元の変更: 参照先ファイルを変更
  • リンクの解除: 数式を現在の値に置き換え(元に戻せない)

VLOOKUP / XLOOKUPで条件に合うデータを自動取得する方法

VLOOKUPの基本

=VLOOKUP(検索値, 範囲, 列番号, FALSE)

例: 商品コードから商品名を自動取得

=VLOOKUP(A2, マスター!$A:$C, 2, FALSE)

XLOOKUPの基本(Excel 365 / 2021以降)

=XLOOKUP(検索値, 検索範囲, 戻り範囲, "見つからない場合")

例:

=XLOOKUP(A2, マスター!A:A, マスター!B:B, "該当なし")

VLOOKUPとXLOOKUPの比較

機能VLOOKUPXLOOKUP
検索方向右方向のみ左右どちらも可
列番号の指定必要不要(戻り範囲を直接指定)
見つからない場合#N/Aカスタムメッセージ可
対応バージョン全バージョン365 / 2021以降
速度普通高速

リンク貼り付けで値を反映する方法

リンク貼り付けの手順

  1. 参照元のセルをコピー(Ctrl+C)
  2. 反映先のセルを選択
  3. 右クリック →「貼り付けオプション」→「リンク貼り付け」
  4. 参照元を変更すると反映先も自動更新

「形式を選択して貼り付け」からリンク貼り付け

  1. Ctrl+C でコピー
  2. Ctrl+Alt+V で「形式を選択して貼り付け」ダイアログを開く
  3. 「リンク貼り付け」ボタンをクリック

リンク貼り付けと通常の参照の違い

方法特徴
=A1(セル参照)数式バーに参照先が表示される
リンク貼り付け書式(色、罫線等)も反映可能
値のみ貼り付けリンクなし(値が固定される)
Excel業務の自動化
その手作業、自動化しませんか?

VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。

1,600部ツール販売実績
15年製造業の業務経験
無料で相談する →
初回相談無料・お見積りだけでもOK
期間限定でChatGPT✖︎Googleスプレットシートのコンテンツ配布中!

LINEでExcelを気軽に学べる

しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
Profile
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
プロフィールを読む

INDIRECT関数で動的にシート参照する方法

INDIRECT関数の基本

=INDIRECT("シート名!セル番地")

セル参照を「文字列」で指定できるため、シート名やセル番地を動的に切り替えられます。

  1. セルA1にドロップダウンリスト(「1月」「2月」「3月」等のシート名)を作成
  2. 数式: =INDIRECT(A1&"!B2")
  3. ドロップダウンで「2月」を選ぶと、2月シートのB2が表示される

INDIRECT + 入力規則の組み合わせ例

=INDIRECT(A1&"!A1:A100")

これをデータの入力規則の「元の値」に使うと、シートに応じた動的なドロップダウンリストが作成できます。

Power Queryで別ブックのデータを取り込む方法

Power Queryのメリット

項目セル参照Power Query
データ量少量向き大量データ対応
更新自動ボタンクリックで更新
変換・加工不可フィルタ・結合・変換可能
複数ファイル個別参照フォルダ一括取り込み可能

基本手順

  1. 「データ」タブ →「データの取得」→「ファイルから」→「ブックから」
  2. 対象ファイルを選択
  3. テーブルまたはシートを選択
  4. 「読み込み」でワークシートに出力

データの更新

「データ」タブ →「すべて更新」で参照元の最新データを取り込みます。

自動更新を設定する場合:「データ」タブ →「接続のプロパティ」→「ファイルを開くときにデータを更新する」にチェック

よくあるトラブルと対処法

#REF!エラーが表示される

  • 原因: 参照先のセルやシートが削除された
  • 対処: 参照先を確認し、正しいセル番地に修正

別シート参照が更新されない

  • 原因: 計算方法が「手動」に設定されている
  • 対処: 「数式」タブ →「計算方法の設定」→「自動」に変更 / F9で再計算

外部参照で「リンクを更新しますか?」が毎回表示される

  • 対処1: 「データ」→「リンクの編集」→「起動時の確認」→「メッセージを表示しない」
  • 対処2: リンクが不要になった場合は「リンクの解除」で値に変換

INDIRECT関数で#REF!になる

  • 原因: 参照先のシート名が正確でない(スペース、全角/半角の違い)
  • 対処: シート名を正確にコピーして使用

数式→値変換をVBAで自動化する方法

数式を値に一括変換する処理をVBAマクロで自動化すれば、手作業での貼り付け操作が不要になります。

' 数式を値に一括変換するマクロ
Sub 数式を値に変換()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim rng As Range
    Set rng = ws.Range("B2:B5")
    rng.Value = rng.Value
    MsgBox "数式が値に変換されました"
End Sub

VBAマクロの実行結果は記事冒頭のインタラクティブデモで確認できます。ボタンを押すとアニメーションで動作をシミュレーションします。

💻 操作を体験してみよう!

実際の操作手順をクリックして体験できます。各ステップをクリックしてみましょう。

📄 セルに値を反映する方法
基本
同じシート内のセル参照(=A1)
fx =A1
A1: 東京 C1: =A1 → 東京
Sheet1
ABC
1東京東京
2500500
3田中田中
ポイント
セルに「=A1」と入力するだけで、A1の値がそのまま反映されます。元のセルを変更すると自動で更新。
中級
別シートのセルを参照(シート名!セル)
fx =入力シート!B2
入力シート
AB
1氏名売上
2田中¥420,000
3佐藤¥380,000
集計シート
AB
1氏名売上
2田中¥420,000
3佐藤¥380,000
ポイント
「=シート名!セル」の形式で別シートの値を参照。入力時にマウスで別シートのセルをクリックするだけでOK。
中級
VLOOKUPで条件に合うデータを自動取得
fx =VLOOKUP(A2,マスタ!A:C,3,FALSE)
マスタ
ABC
1商品ID商品名価格
2A001ノートPC¥89,800
3A002マウス¥3,500
注文書
AB
1商品ID価格
2A001¥89,800
3A002¥3,500
ポイント
検索値(商品ID)をキーに、マスタテーブルから対応する値を自動取得。大量データの紐付けに最適。
基本
リンク貼り付けで値を反映
コピー元 Ctrl+C リンク貼付
Sheet1
ABC
1売上実績1,200
2目標1,000
3達成率=$B$1/$B$2120%
手順
① コピー元セルを選択しCtrl+C → ② 貼付先で右クリック → ③ 「形式を選択して貼り付け」→「リンク貼り付け」
リンク貼付は絶対参照($A$1)で作成されるため、コピーしても参照先がずれません
方法をクリックして切替え 4方法
1 各タブをクリックして4つの反映方法を切替え
2 まずは「セル参照」(=A1)から始めよう
3 大量データにはVLOOKUP、シンプルな連携には別シート参照

まとめ

方法同シート別シート別ブック条件検索難易度
セル参照(=A1)×★☆☆
リンク貼り付け×★☆☆
VLOOKUP/XLOOKUP★★☆
INDIRECT関数×★★☆
Power Query××★★★

まずはセル参照(=シート名!A1)をマスターし、条件に基づく検索が必要になったらVLOOKUP/XLOOKUPを活用しましょう。大量データの取り込みにはPower Queryが最適です。

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
記事URLをコピーしました