SkillStack Lab 運営者の「スタック」です。
Excelで作った資料を確定するとき、「数式はもう必要ないので、現在表示されている結果だけ残したい」と思うことはありませんか。
社外へファイルを渡すとき、外部参照を切りたいとき、計算結果をその時点の数字で固定したいときなどに使う操作です。
結論から言うと、数式を削除して現在の値だけ残すなら「コピー→値として貼り付け」が基本です。1セルだけならF9、外部参照だけ切るなら「ブックのリンクを解除」、大量・全シートならVBAと使い分けます。
重要なのは、数式を値へ変換すると元の計算式を失うことです。
業務ファイルを値へ変換するときは、最初に元ファイルを別名保存してから作業してください。確定版と計算用ファイルを分けておくと安全です。
- 数式を削除して現在の値だけ残す基本手順
- 「値」と「値と数値の書式」の違い
- F9で1セルや数式の一部分だけ固定する方法
- 外部参照だけを値へ変換してリンクを切る方法
- 複数シートをVBAで値へ変換する方法
エクセルの数式を削除して値だけ残す基本手順
最も基本的なのは、数式が入っているセルをコピーし、同じ場所へ「値」として貼り付ける方法です。
例えばA1セルに、
=B1+C1
という数式があり、現在の計算結果が「100」だったとします。
値として貼り付けると数式は削除され、A1セルには100という現在値だけが残ります。その後B1やC1を変更しても、A1は再計算されません。
コピーして同じ場所へ値を貼り付ける
- 値に変えたい数式セルを選択する
Ctrl + Cでコピーする- そのまま同じ場所で「値」を貼り付ける
Windows版Excelなら、コピー後にCtrl + Alt + Vを押すと「形式を選択して貼り付け」を開けます。
そこから「値」を選択すれば、数式だけを現在の計算結果へ置き換えられます。
「値」と「値と数値の書式」は何が違う?
「形式を選択して貼り付け」には、似た選択肢があります。
| 貼り付け方法 | 貼り付けるもの | 向いている場面 |
|---|---|---|
| 値 | 計算結果のみ | 元の場所へ上書きする |
| 値と数値の書式 | 計算結果+数値の表示形式 | 別の場所へ日付・通貨・%などの表示形式も引き継ぎたい |
| 値と元の書式 | 値+コピー元の書式 | 見た目もまとめてコピーしたい |
同じセルへ上書きするだけなら、基本的には「値」で十分です。
「値」はコピー元の書式を貼り付けないため、元のセルに設定されていた日付・通貨・パーセントなどの表示形式はそのまま残ります。
一方、別の未設定セルへコピーし、コピー元と同じ数値表示も再現したい場合は「値と数値の書式」が便利です。
値のみ貼り付けのショートカット
数式を値へ変換する作業を頻繁に行うなら、ショートカットを覚えると便利です。
| 環境 | 操作 |
|---|---|
| Windows | Ctrl + Alt + V → 値を選択 |
| Windowsの対応環境 | Ctrl + Shift + Vで値貼り付け |
| Mac | Command + Control + Vで形式を選択して貼り付け |
ただし、ショートカットだけを詳しく知りたい場合は、このページで重複して説明するより、Windows・Mac・対応環境をまとめた次の記事の方が分かりやすいです。
F9なら数式をその場で値へ変換できる
1セルだけ固定したい場合は、コピーと貼り付けを使わずF9で値へ変換する方法もあります。
- 数式が入ったセルを選択する
F2を押して編集モードにするF9を押すEnterで確定する
これで、セルの数式そのものが現在の計算結果へ置き換わります。

数式の一部分だけ値へ固定することもできる
F9の便利なところは、数式全体だけでなく選択した部分だけを現在値へ変換できることです。
例えば、
="今日は"&TEXT(TODAY(),"mm月dd日")&"です"
という式のうち、TEXT(TODAY(),"mm月dd日")だけを選択してF9を押せば、その部分だけ現在の計算結果に置き換えられます。
F9で値へ置き換えてEnterで確定すると、その数式部分は失われます。結果を確認するだけなら、確定せずEscで編集を取り消してください。
外部参照だけを切りたいなら「ブックのリンクを解除」する
社外へExcelファイルを渡すとき、「すべての数式を消したい」のではなく、別ファイルへの外部参照だけを切りたい場合もあります。
例えば、次のような数式です。
='C:\資料\[売上.xlsx]Sheet1'!A1
この場合、ブック全体を値へ変換する必要はありません。
ブックのリンクを解除する手順
- [データ]タブを開く
- [クエリと接続]→[ブックのリンク]を開く
- 解除したい参照元ブックを選択する
- メニューから[リンクの解除]を選択する
リンクを解除すると、その外部ブックを参照していた数式は現在の計算結果へ変換されます。
デスクトップ版Excelではリンク解除を元に戻せない場合があります。解除前に別名保存しておくことをおすすめします。
日付が数字になるのは貼り付け先の表示形式を確認する
数式を値へ変換したあと、「2026/8/17」のはずが「46251」のような数字に見えることがあります。
Excelでは日付を内部的には連続した数値として管理し、セルの表示形式によって日付として表示しています。
そのため、別の場所へ値だけ貼り付け、貼り付け先の表示形式が「標準」になっていると、日付の内部値が数字として見える場合があります。
元の場所へ値を上書きするだけなら、元の表示形式は残ります。別の場所へ移す場合は「値と数値の書式」を使うか、貼り付け先の日付形式を設定してください。
数字になってしまった場合も、データ自体が壊れたとは限りません。
対象セルを選択してCtrl + 1で「セルの書式設定」を開き、日付の表示形式を設定してください。
大量の数式を一括で値へ変換するVBA
毎回同じ作業を繰り返す場合や、複数シートをまとめて静的なファイルにしたい場合はVBAも選択肢です。
数式の値化は元データを直接変更する処理です。マクロを実行する前に、必ずブックをコピーまたは別名保存してください。
現在のシートをすべて値へ変換するコード
Sub ConvertCurrentSheetToValues()
Dim answer As VbMsgBoxResult
Dim rng As Range
answer = MsgBox( _
"現在のシートを値に変換します。" & vbCrLf & _
"実行後はVBAのUndoでは元に戻せません。" & vbCrLf & _
"続行しますか?", _
vbYesNo + vbExclamation _
)
If answer <> vbYes Then Exit Sub
On Error GoTo ExitHandler
Application.ScreenUpdating = False
Set rng = ActiveSheet.UsedRange
rng.Value2 = rng.Value2
ExitHandler:
Application.ScreenUpdating = True
End Sub
UsedRangeは、そのシートで使用されている範囲を取得します。
Value2 = Value2と自分自身の現在値を書き戻すことで、セルの書式を変更せずに数式を値へ置き換えます。
ブック内の全シートを値へ変換するコード
納品用などで、ブック内のすべてのシートを静的な状態にしたい場合は、シートをグループ化して手作業するより、処理対象を明示したVBAの方が安全です。
Sub ConvertAllSheetsToValues()
Dim ws As Worksheet
Dim answer As VbMsgBoxResult
answer = MsgBox( _
"このブック内の全ワークシートを値に変換します。" & vbCrLf & _
"必ずバックアップを確認してください。" & vbCrLf & _
"続行しますか?", _
vbYesNo + vbExclamation _
)
If answer <> vbYes Then Exit Sub
On Error GoTo ExitHandler
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
ws.UsedRange.Value2 = ws.UsedRange.Value2
Next ws
ExitHandler:
Application.ScreenUpdating = True
End Sub
このサンプルは一般的なセル値・数式を静的化するためのシンプルな例です。複雑な配列数式、特殊なデータ型、保護シートなどを含む業務ブックでは、コピーしたファイルで事前検証してください。
VBAを使うべきか迷う場合は、Excel自動化7選で、Power QueryやOffice Scripts、Pythonなどとの使い分けも確認できます。
Power Queryは「元を残して別表を作りたい」ときに使う
数式が入った元シートを残しつつ、別のシートに結果データを出力したい場合はPower Queryも候補になります。
例えば、元データをExcelテーブルとして管理し、[データ]→[テーブルまたは範囲から]でPower Queryへ取り込めます。
Power Query側では不要列の削除やデータ型変更などの変換手順を追加し、結果を別シートへ読み込めます。
ただし、これは「その時点で完全に固定した静的ファイルを作る」操作とは性質が異なります。
クエリを更新すれば元データの変更が再び反映されるため、繰り返し同じ形式のデータを出力したい場合に向いています。
詳しい使い方は、Power Queryの使い方を実務ベースで解説した記事を参考にしてください。
数式を値へ変換する前に確認したい3つの注意点
1. 元の数式を残したファイルを保存する
最も重要です。
「売上集計_計算用.xlsx」と「売上集計_提出用.xlsx」のように、数式を残した原本と値だけの提出版を分ける方法がおすすめです。
2. 計算結果が最新か確認してから固定する
値へ変換した瞬間、その数値は再計算されなくなります。
計算方法を「手動」にしているブックや、外部データ更新が必要なブックでは、最新値になっているか確認してから固定してください。
3. 外部リンクだけなら全数式を消さない
ファイル送付時のリンク切れ対策が目的なら、ブック内のすべての数式を消す必要はない場合があります。
まず[ブックのリンク]を確認し、外部参照だけを解除できないか検討してください。
スタック「何のために値へ変えるのか」を先に決めるのが大切です。外部リンク対策だけなのに、内部の計算式まで全部消してしまう必要はありません。
エクセルで数式を削除して値だけ残すときのよくある質問
まとめ|数式を値へ変える目的に合わせて方法を選ぼう
Excelの数式を削除して現在値だけ残す方法は、目的によって使い分けると安全です。
- 通常の範囲 → コピーして値を貼り付ける
- 1セル・数式の一部分 → F9
- 外部参照だけ切る → ブックのリンクを解除
- 全シートを静的化 → バックアップ後にVBA
- 元データを残して繰り返し出力 → Power Query
特に社外提出用のExcelを作る場合は、計算用の原本をそのまま書き換えず、コピーした提出版を値へ変換する運用がおすすめです。
値貼り付けのキー操作をもっと速くしたい場合は、Windows・Mac別のショートカットをまとめた記事へ進んでください。








