【Excel】エクセルで配列の一部を変更することはできません(エラー原因・対処法・解決方法)というエラーは、スピル配列や従来の配列数式を使っているセルの一部だけを編集しようとしたときに表示されることがあります。
Excelでは、複数セルにまたがって結果を返す数式があります。
そのような数式は、見た目では複数のセルに値が入っているように見えても、実際には一つの数式がまとめて結果を出しています。
そのため、配列の途中にあるセルだけを削除したり、上書きしたりしようとすると、配列の一部を変更することはできませんというエラーが出るのです。
この記事では、エラーの意味、原因、解除方法、数式を残したまま編集する方法、スピル配列との関係を分かりやすく解説します。
配列の一部を変更することはできませんの結論
それではまず配列の一部を変更することはできませんの結論について解説していきます。
このエラーは、配列数式の結果範囲の一部だけを編集しようとしていることが主な原因です。
解決するには、配列全体を選択して削除するか、数式が入力されている先頭セルを編集する必要があります。
配列の途中にあるセルだけを変更するのではなく、配列全体または元の数式を操作するのが基本です。
Excelの新しいバージョンでは、FILTER関数、SORT関数、UNIQUE関数などのスピル機能によって、このエラーに近い状態が発生することもあります。
配列数式とは何か
配列数式とは、一つの数式で複数の値をまとめて計算する数式です。
古いExcelでは、複数セルを選択して数式を入力し、特殊な確定操作を使うことで配列数式を作成していました。
新しいExcelでは、動的配列の機能により、一つのセルに数式を入れるだけで周囲のセルへ結果が広がることがあります。
一部だけ編集できない理由
配列数式は、一つのまとまりとして計算結果を表示しています。
そのため、結果範囲の途中だけを手入力で変えると、数式全体の整合性が崩れます。
Excelはこの状態を防ぐために、配列の一部を変更することはできませんというメッセージを出します。
まず確認するセル
エラーが出たら、編集しようとしているセルが配列数式の一部かどうかを確認します。
数式バーに同じような数式が表示される場合や、選択範囲全体が薄く囲まれる場合は、配列の一部である可能性があります。
先頭セルを探し、そこに入っている数式を確認しましょう。
かなり重要なのは、エラーが出たセルそのものに原因があるとは限らない点です。
実際には、別のセルに入力された配列数式の結果として表示されているだけの場合があります。
エラーが出る主な原因
続いてはエラーが出る主な原因を確認していきます。
配列の一部を変更することはできませんというエラーは、単純な入力ミスではなく、Excelの数式構造に関係しています。
原因を理解しておくと、焦らずに正しい場所を編集できるでしょう。
配列数式の結果セルを直接編集している
もっとも多い原因は、配列数式の結果として表示されているセルを直接編集しているケースです。
たとえば、複数行に計算結果が出ている範囲のうち、真ん中のセルだけを消そうとするとエラーが出ます。
この場合は、結果セルではなく、配列数式が入力されているセルを編集する必要があります。
スピル範囲の一部を削除しようとしている
Microsoft 365や新しいExcelでは、数式の結果が自動で複数セルに広がるスピル機能があります。
FILTER関数やUNIQUE関数の結果範囲の一部を消そうとすると、同じように編集できない状態になります。
スピル範囲は、元の数式によって管理されているため、途中のセルだけを変えることはできません。
コピー貼り付けで配列範囲に上書きしている
別のデータをコピーして、配列数式の結果範囲へ貼り付けようとした場合にもエラーが出ることがあります。
貼り付け先が数式結果の一部になっていると、Excelは上書きを許可しません。
貼り付ける前に、配列数式を削除するか、別の空いている場所を選ぶ必要があります。
| 原因 | 起きやすい操作 | 対処の考え方 |
|---|---|---|
| 配列数式の一部編集 | 一部セルを削除 | 配列全体を操作する |
| スピル範囲の上書き | 結果セルへ入力 | 元の数式を編集する |
| 貼り付け先の重複 | コピー貼り付け | 空白範囲へ貼る |
| 古い配列数式 | 複数セル数式の修正 | 全体選択後に修正する |
配列エラーの基本的な対処法
続いては配列エラーの基本的な対処法を確認していきます。
このエラーを解決するには、どのセルが元の数式なのかを見つけることが第一歩です。
そのうえで、数式を編集するのか、配列全体を削除するのか、値として貼り付け直すのかを選びます。
配列全体を選択して削除する
配列数式を消して手入力に変えたい場合は、配列全体を選択して削除します。
一部だけを削除しようとするとエラーになるため、範囲全体を選ぶことが大切です。
配列範囲が分かりにくい場合は、数式が入っているセルを選択し、関連する結果範囲を確認しましょう。
元の数式を編集する
結果を変えたい場合は、表示されている結果セルを編集するのではなく、元の数式を編集します。
たとえば、FILTER関数の条件を変えれば、表示される結果もまとめて変わります。
配列数式は結果を直接直すより、条件や参照元を直すほうが自然です。
値として貼り付ける
配列数式の結果を固定したい場合は、結果範囲をコピーして値として貼り付けます。
値に変換すると、元の配列数式とのつながりがなくなります。
その後は一部セルだけを自由に編集できるようになります。
例として、UNIQUE関数で重複しない名前一覧を表示している場合、一覧の途中だけを手入力で変えることはできません。
一覧を自由に編集したいなら、結果範囲をコピーし、値として貼り付けてから修正します。
スピル配列で起きる似たエラーへの対応
続いてはスピル配列で起きる似たエラーへの対応を確認していきます。
新しいExcelでは、動的配列関数によって結果が自動で広がります。
便利な反面、結果範囲に他のデータがあると、スピルできないエラーが表示されることもあります。
スピル範囲を空ける
数式の結果が広がる予定の範囲にデータがあると、結果を表示できません。
この場合は、邪魔になっているセルの内容を移動または削除します。
見た目では空白でも、スペースや非表示文字が入っていることもあるため注意しましょう。
数式の参照範囲を見直す
スピル結果が想定以上に大きく広がる場合は、参照範囲が広すぎる可能性があります。
必要な範囲だけを指定すれば、余計な結果が出にくくなります。
テーブルを参照している場合は、見出しや空白行も確認するとよいでしょう。
旧形式の配列数式と混同しない
古い配列数式と新しいスピル配列は、似ているようで操作方法が異なります。
古い配列数式は複数セルに同時入力されていることがあり、新しいスピル配列は先頭セルの数式から結果が広がります。
どちらの形式かを確認してから対処すると、無駄な操作を避けられます。
スピル配列では、結果範囲を手で直すのではなく、元の数式、参照範囲、条件を直すことが基本です。
自由に編集したい場合は、値貼り付けに切り替えるのが分かりやすい方法です。
エラーを防ぐための使い方
続いてはエラーを防ぐための使い方を確認していきます。
配列数式は便利ですが、仕組みを知らずに編集するとエラーになりやすい機能です。
作業前に数式の種類や結果範囲を確認する習慣をつけると、トラブルを減らせます。
配列数式の範囲を把握する
配列数式を使っている表では、どこからどこまでが数式結果なのかを把握しておきましょう。
特に他の人から受け取ったファイルでは、見た目だけでは通常の入力セルと区別しにくいことがあります。
数式バーを確認し、必要に応じてセルにメモを残しておくと安心です。
編集用と集計用を分ける
手入力で編集する表と、数式で自動表示する表は分けておくと安全です。
同じ範囲で手入力と配列数式が混在すると、エラーや上書きミスが起こりやすくなります。
入力データ、計算結果、確認用一覧を分けるだけでも、管理しやすくなるでしょう。
値貼り付けのタイミングを決める
配列数式の結果を最終データとして扱う場合は、値貼り付けにするタイミングを決めておくと便利です。
たとえば、提出用の一覧や固定したい集計表では、数式のままより値に変換したほうが扱いやすい場合があります。
ただし、値にすると元データの変更は反映されなくなるため、目的に合わせて選びましょう。
まとめ
エクセルで配列の一部を変更することはできませんと表示される原因は、配列数式やスピル配列の結果範囲を一部だけ編集しようとしているためです。
配列は一つのまとまりとして管理されているため、途中のセルだけを削除したり上書きしたりすることはできません。
解決するには、配列全体を選択して削除する、元の数式を編集する、または結果を値として貼り付ける方法があります。
FILTER関数、UNIQUE関数、SORT関数などを使っている場合は、スピル範囲も確認しましょう。
重要なのは、結果セルを直接直すのではなく、元の数式や参照元を修正することです。
配列数式の仕組みを理解しておくと、エラーに慌てず、正しい手順で解決できるでしょう。