【Excel】エクセルで「配列の一部を変更することはできません」と表示される原因と解除方法
Excelでセルを編集しようとした際に「配列の一部を変更することはできません」と表示されると、入力ミスなのかファイルの不具合なのか判断しにくいものです。
このメッセージは、複数セルをまとめて計算している配列数式やスピル数式の結果範囲に対し、1セルだけを変更しようとした場合に表示されます。
対象範囲全体を選択して数式を直す、数式を値へ変換する、スピル元の数式を修正するといった方法で対処できます。
配列の一部を変更できないエラーは、対象セルだけではなく計算範囲全体を意識することが解決の鍵です。
旧式の配列数式では範囲全体を選択して編集し、Microsoft 365などの動的配列では左上の数式セルを修正します。
本記事では、エラーの原因を見分ける方法から、配列数式・スピル数式ごとの解除方法、再発しにくい表の作り方まで順番に解説します。
配列数式を解除して編集する方法
それではまず、配列の一部を変更することはできませんと表示されたときに、すぐ実行できる解除方法について解説していきます。
| A | B | C |
|---|---|---|
| 商品名 | 数量 | 判定 |
| りんご | 12 | 大量 |
| みかん | 5 | 通常 |
上の例では、C2からC3に同じ配列計算の結果が入っている場合、C2またはC3だけを直接書き換えることはできません。
配列範囲全体の選択
最初に、編集したいセルが配列数式の一部かどうかを確認しましょう。
セルをクリックして数式バーを見ると、旧形式の配列数式では数式全体が波かっこで囲まれたように表示されることがあります。
数式バーに表示される数式が複数セルで共有されている場合、単独セルのDeleteキーや上書き入力は受け付けられません。
たとえばC2からC10へ配列数式が入力されているなら、名前ボックスへC2:C10と入力するか、ドラッグして範囲全体を選択します。

範囲を選択した状態でDeleteキーを押せば、配列数式と結果をまとめて削除できます。
削除後は、各セルへ通常の数式または値を自由に入力できるようになります。
範囲を削除する前に必要な結果がある場合は、別シートへコピーしておくと安心です。
配列数式は1セルだけを消すのではなく、最初から最後までをひとまとまりとして削除する操作が必要です。
誤って範囲の一部だけを選んだ場合は、エラーが出てもデータが壊れたわけではありません。
選択範囲を広げ、配列の全セルを含めてから操作し直しましょう。
数式から値への変換
計算結果は残したまま、一部のセルを編集したい場合には値貼り付けが便利です。
配列数式がある範囲全体を選択してコピーし、同じ範囲で右クリックして値として貼り付けを実行します。
ショートカットを使うなら、コピー後にCtrlキーとAltキーとVキーを押し、値を選んで確定する流れです。

これにより数式は計算結果そのものへ置き換わるため、C2だけを修正することもC3だけを削除することも可能になります。
値へ変換した後は元データを変更しても自動計算されない点に注意してください。
月次報告のように結果を確定させたい表には値貼り付けが向いています。
一方で、数量や売上を更新するたびに判定も更新したい表では、値へ変換せず数式を修正する方法を選びましょう。
【操作のポイント】編集可能にする目的が一度きりの修正なら値貼り付け、今後も自動集計したいなら配列数式の再入力を選択します。
旧形式の配列数式の再入力
Excel 2019以前のファイルや古い帳票では、CtrlキーとShiftキーとEnterキーで確定する配列数式が残っていることがあります。
この形式では、たとえばC2:C10を選択してから、IF関数やSUM関数を含む数式を入力し、CtrlキーとShiftキーとEnterキーで確定します。
例として、B2:B10が10以上なら大量、10未満なら通常と表示する場合の式は次のとおりです。
=IF(B2:B10>=10,”大量”,”通常”)
この式をC2:C10へ適用するには、先にC2:C10を範囲選択して数式を入力します。
Enterキーだけで確定すると通常数式になり、意図した一括計算にならない場合があります。
旧配列数式を直すときも、編集対象は必ず数式が入っている全範囲です。
数式を変更したいときは、範囲全体を選択してF2キーを押し、式を直してからCtrlキーとShiftキーとEnterキーで再確定しましょう。
【操作のポイント】旧形式の配列数式は、範囲選択とCtrlキー・Shiftキー・Enterキーの組み合わせまで含めて一つの入力操作です。
スピル範囲の数式を修正する方法
続いては、Microsoft 365やExcel 2021以降でよく使われるスピル範囲の確認方法について解説していきます。
| A | B | C |
|---|---|---|
| 商品名 | 数量 | 抽出結果 |
| りんご | 12 | りんご |
| みかん | 5 | ぶどう |
動的配列では、左上の1セルに入力された式が周囲のセルへ自動的に結果を広げます。
広がった先のセルはスピル範囲と呼ばれ、個別に編集することはできません。
左上の元セルの確認

スピル範囲内のセルをクリックすると、Excelは結果がどこから展開されているかを分かりやすく表示します。
たとえばD2にFILTER関数があり、D2:D6へ結果が表示されているなら、編集すべきなのはD2です。
途中のD4をクリックして入力しようとすると、配列の一部を変更することはできませんというメッセージが出ます。
スピル範囲では左上だけが数式を持つ親セルであり、残りは計算結果を表示する子セルのような役割です。
数式バーを見て式が表示される左上セルを探し、そのセルを選択してF2キーで編集します。
FILTER関数の例では、D2に次のような式を入力します。
=FILTER(A2:A10,B2:B10>=10,”該当なし”)
この式は、B列の数量が10以上の商品の名前をA列から抽出します。
条件を20以上へ変更したいなら、D2の10を20に修正してEnterキーで確定しましょう。
結果範囲全体が自動で更新されるため、D3以降を触る必要はありません。
【操作のポイント】スピル数式の修正先は、色付きの枠線が始まる左上のセルです。
スピル範囲全体の削除
動的配列の結果を消したい場合も、途中のセルではなく左上の数式セルを選択します。
D2を選択してDeleteキーを押すと、D2からD6などへ広がっていた結果はまとめて消えます。
結果の一部だけを残す必要がある場合には、削除前に範囲全体をコピーし、別の場所へ値として貼り付けてください。

スピル結果の一部を消すのではなく、数式の発生源を消すことが正しい削除方法です。
この仕組みを理解すると、空白セルが勝手に埋まったように見える現象も判断しやすくなります。
また、スピル範囲に別のデータを入力していると、今度はスピルエラーが表示されることがあります。
その場合は、数式の展開先にある入力済みセルを移動または削除し、空きスペースを確保しましょう。
【操作のポイント】スピル結果を固定したいときは、先に範囲全体をコピーして値貼り付けしてから元の数式を削除します。
参照演算子の使い分け
スピルした範囲全体を別の数式で参照したいときは、元セルの後ろに#を付けるスピル参照を使います。
ただし本文中では記号の扱いを間違えやすいため、実際の式を入力する際には数式バーで確認してください。
たとえばD2から下へ抽出された結果全体の件数を数える式は、次の考え方で作れます。
=ROWS(D2#)
この方法なら、抽出件数が2件から5件へ増えても参照範囲を手作業で直す必要がありません。
動的配列を利用する表では、結果の範囲を固定番地で指定しないことが保守の負担を減らします。
一方で、スピル範囲の途中を入力欄として使いたい場合には、数式の置き場所を別列へ移す構成が必要です。
【操作のポイント】自動展開される結果列と、担当者が手入力する列は分けて設計するとエラーを防ぎやすくなります。
配列数式の範囲を確認する手順
続いては、どのセルまでが配列の対象なのかを正確に確認する手順について解説していきます。
| A | B | C |
|---|---|---|
| 担当者 | 売上 | 評価 |
| 田中 | 120000 | A |
| 佐藤 | 80000 | B |
見た目だけでは通常の数式か配列数式か分からないこともあるため、数式バーと選択枠を使って確認することが大切です。
数式バーによる判別
セルを選択したとき、数式バーに表示される内容は最初の確認材料になります。
通常数式なら選択したセルごとに異なる数式を入力できますが、配列数式では複数セルが同じ処理に結び付いています。
数式の中に範囲指定があり、選択セルの周囲に同じ色の枠が広がる場合は、配列範囲を疑いましょう。
数式バーをクリックしても編集できないように見えるときは、数式の一部を選択している可能性があります。
Escキーを押して編集状態を解除し、左上のセルから範囲全体を選び直すと状況を整理できます。
【操作のポイント】エラー表示だけで判断せず、数式バーと選択枠の両方を見ることで旧配列数式とスピル数式を切り分けます。
名前ボックスによる範囲選択
大きな表では、マウスで配列範囲を選ぶと行をずらしてしまうことがあります。
Excel画面左上の数式バーの左にある名前ボックスを使うと、対象範囲を正確に選択できます。
たとえばF2:F500が配列数式なら、名前ボックスへF2:F500と入力してEnterキーを押します。
範囲が青や緑の枠で選択されたことを確認してから、削除・コピー・再入力の操作へ進みましょう。
数式を再設定する場合の流れは、対象範囲を名前ボックスで選択し、数式バーへ式を入力し、使用しているExcelの形式に合わせて確定することです。
Excel 365の動的配列では左上セルだけを選び、旧配列数式では全範囲を選びます。
【操作のポイント】数百行に及ぶ表では、名前ボックスによる範囲選択が誤操作の防止に役立ちます。
数式の検証と依存関係
どのセルが元データを参照しているか分からない場合は、数式タブの参照元のトレースを利用します。
対象セルを選び、数式タブから参照元のトレースを実行すると、参照しているセルとの関係を矢印で確認できます。
配列数式は複数の入力範囲を一度に処理するため、1セルを書き換えたつもりでも集計結果へ影響する可能性があります。
解除前に数式の参照先を確認しておけば、必要な計算まで削除してしまう事故を減らせます。
複雑なブックでは、コピーを作成してから編集し、結果が想定どおりか比較する方法も有効です。
【操作のポイント】配列の解除は計算ロジックの変更でもあるため、参照元と参照先を確認してから保存します。
配列の一部を変更できないエラーの原因
続いては、このエラーメッセージが表示される主な原因について解説していきます。
| 操作 | 対象 | 結果 |
|---|---|---|
| C3へ入力 | C2:C10の配列 | エラー表示 |
| C2:C10を削除 | C2:C10の配列 | 削除可能 |
エラーはExcelが計算結果の整合性を守るために出しているメッセージです。
不具合ではなく、数式の一部だけが別の内容へ変わることを防ぐ保護機能と考えると理解しやすいでしょう。
複数セルを一つの計算単位としている状態
配列数式は、一つの式で複数のセルに結果を返す仕組みです。
たとえば売上一覧から条件に合うデータを抽出したり、複数行の計算結果を一度に求めたりするときに利用されます。
もし途中のセルだけを変更できる仕様なら、同じ数式から生まれた結果の一部だけが異なる状態になり、表の信頼性が低下します。
Excelは計算単位の整合性を保つため、配列範囲の一部編集を意図的に禁止しています。
エラーが出たときは、入力しようとしたセルだけを見るのではなく、その上下や左右に連続した計算結果がないか確認してください。
【操作のポイント】複数セルで同じ処理を共有しているなら、編集も削除も範囲単位で実行します。
コピーと貼り付けによる部分上書き
別の表からデータをコピーし、配列範囲の一部へ貼り付けようとしたときにも同じエラーが発生します。
たとえばC5だけへ値を貼り付ける操作でも、C2:C10が一つの配列なら部分上書きと判断されます。
貼り付け先を配列範囲の外へ変更するか、配列数式を値に変換してから貼り付けましょう。
入力データ用の列と、数式の結果を表示する列を分けることが基本です。
たとえばA列を商品名、B列を数量、C列を計算結果にし、C列へ直接入力しないルールを決めます。
このように列の役割を固定すると、誤って数式の結果列を上書きする場面が少なくなります。
【操作のポイント】貼り付け時にエラーが出たら、貼り付け先が配列やスピルの範囲内ではないか確認します。
テーブルと動的配列の組み合わせ
Excelのテーブル機能では、数式が列全体へ自動入力されるため、配列数式と似た挙動に見えることがあります。
ただしテーブルの計算列は、通常は特定行だけを変更できる場合もあり、配列数式とは仕組みが異なります。
一方、動的配列の数式をテーブル内で使うと、スピルが制限されることがあります。
スピルする数式はテーブルの外側へ配置し、元データはテーブル内へ置く構成が扱いやすい方法です。
FILTER関数やUNIQUE関数を使う場合には、抽出結果の右側と下側に十分な空白セルを確保しましょう。
【操作のポイント】テーブルは入力データの管理、動的配列は集計結果の表示というように役割を分けます。
配列数式を安全に編集する注意点
続いては、配列数式を解除または編集するときに確認したい注意点について解説していきます。
| 確認項目 | 確認内容 |
|---|---|
| 元データ | 1行目を見出しとして、2行目以降に値があるか |
| 数式範囲 | 配列全体または左上の元セルを選んでいるか |
| 保存先 | 編集前のバックアップがあるか |
重要な業務ファイルでは、解除する操作そのものよりも、解除後に計算結果を検証することが重要です。
バックアップファイルの作成
まず、元のファイルを別名で保存してから編集を始めましょう。
ファイル名に作業日や編集前という語を付けると、元データと作業版を見分けやすくなります。
配列数式を値に置き換える操作は元に戻せますが、保存して閉じた後では復元が難しくなることがあります。
特に共有フォルダのファイルでは、編集前コピーを残すだけでトラブル時の対応が大きく変わります。
バックアップを作成したら、解除後のファイルで合計値や件数が変わっていないか確認してください。
【操作のポイント】配列数式を削除・値変換する前に、別名保存で復元用のファイルを用意します。
数式のコピー先の確認
配列数式を再作成するときは、参照範囲が意図せずずれていないか確認します。
1行目をヘッダーとする表なら、通常はデータ範囲をA2から始めます。
たとえばB2:B100を対象とする式を作ったのに、B1:B100を指定するとヘッダー文字列まで計算対象になる可能性があります。
数量列の合計を求める基本式は次のとおりです。
=SUM(B2:B100)
条件に一致する数量だけを合計する場合は、SUMIF関数やSUMIFS関数を使う方法もあります。
行数が増える予定なら、テーブル化や動的配列を使い、範囲の拡張に対応できるようにしておくと便利です。
【操作のポイント】ヘッダーは計算対象から外し、サンプルデータでは2行目以降を数式の開始位置にします。
共同編集時のルール
複数人で同じブックを使う場合は、数式列へ直接入力しないことをチームで共有しておくと安心です。
入力してよいセルを薄い色で塗り、数式セルは保護する方法もあります。
シート保護を設定すれば、ロックされた数式セルを誤って上書きすることを防げます。
配列の一部を変更できないエラーを減らすには、数式の仕組みだけでなく入力場所を明確にする運用も有効です。
説明用シートに、入力列・自動計算列・更新担当者を記載しておくと、引き継ぎ時にも役立ちます。
【操作のポイント】共有ブックでは、手入力セルと自動計算セルを色や保護設定で区別します。
まとめ エクセルで配列の一部を変更することはできませんの解除方法
エクセルで配列の一部を変更することはできませんと表示される原因は、編集しようとしたセルが配列数式またはスピル数式の結果範囲に含まれているためです。
旧形式の配列数式では、数式が入っている範囲全体を選択して削除・再入力・値貼り付けを行います。
動的配列のスピル範囲では、左上の元セルだけを編集すれば結果全体を更新できます。
結果を確定して個別に編集したい場合には、範囲全体をコピーして値として貼り付ける方法が適しています。
一方で自動計算を維持したい場合には、数式を削除せず、配列全体または元セルの数式を修正しましょう。
解除前にはバックアップを作り、1行目のヘッダーを含めない参照範囲になっているか、合計や抽出件数が正しいかを確認することも大切です。
配列を一つの計算単位として扱う仕組みを理解すれば、エラーを落ち着いて解消でき、Excelの集計作業も安全に進められます。