ご存知のとおり、Office365にはExcel365がバンドルされています。 Microsoftは、Excel365にさまざまな新機能を追加しました。 そのような機能の1つは 動的配列数式。 通常、数式は結果として単一の値のみをセルに返します。 しかし現在、この新機能が導入されているため、複数の値を返すことができます。
たとえば、Excel 2019以前のバージョンでは、セルに数式= D2:D5を適用すると、結果は最初のセルに制限されます。
対応するすべてのセルに数式を適用する必要がある場合は、配列表記(Ctrl + Shift + Enter)を使用しました。 ただし、Excel365ではそうではありません。 同じ数式を適用すると、対応するすべてのセルに値が自動的にスピルされます。 詳細については、下の画像を参照してください。
結果がこぼれるセルの領域は、 流出範囲. 下の画像を参照してください
ノート:
- NS こぼれ は動的配列で自動的に有効になり(現在、この機能はExcel 365でのみサポートされています)、この機能を無効にすることはできません。
- 流出機能は、関数の有無にかかわらず、すべての数式で有効になります。
こぼれエラー 数式が複数の値を返すことを目的としている場合に表示されますが、結果をセルに配置することはできません。 エラーは次のようになります。
#SPILLエラーが発生する考えられる理由は次のとおりです。
- 流出範囲には値が含まれているため、結果をセルに入力できません
- 流出範囲はセルをマージしました。
- 暗黙の交差をサポートする数式を含む古いシート(Excel 2016以前を使用して作成された)がExcel365で開かれたとき。
- 動的配列数式をExcelテーブルに適用する場合。
Excelで#SPILLエラーが表示されている場合でも、心配する必要はありません。 この記事では、この問題の根本原因を特定するさまざまな方法を示し、#SPILLエラーを修正する方法についても説明します。
目次
#SPILLエラーの原因を特定します
こぼれエラーが表示された場合は、最初にエラーが表示されている理由を確認してください。
ステップ1:表示されているセルをクリックします #SPILL! エラー
ステップ2:をクリックします エクスクラメーション・マーク 以下に示すように
ステップ3:最初の行は、エラーの原因を示しています。 たとえば、この場合、流出範囲が空白ではないため、エラーが表示されます
流出範囲が空白でない場合に従うべき修正
あなたがそれを見るとき、以下の修正に従ってください 流出範囲は空白ではありません
修正1:流出範囲をブロックしているデータを削除する
流出範囲のセル内にすでにいくつかのデータがある場合、数式の適用時に#SPILLエラーが表示されます。
流出範囲をブロックしているデータをはっきりと見ることができるとき
以下の例を考えてみましょう。データに式= D2:D5を適用すると、次のようにSPILLエラーがスローされます。 私はここにいます 流出範囲内。
#SPILLエラーを取り除くには、データを移動するか、流出範囲からデータを削除します。
流出範囲をブロックしているデータが非表示になっている場合
場合によっては、ケース1に見られるように、流出範囲をブロックしているデータが隠されており、あまり明白ではありません。 以下の例を考えてみましょう。
このような場合、流出範囲をブロックしているセルを見つけるには、以下の手順に従います。
ステップ1:表示されているセルをクリックします #SPILL! エラー
ステップ2:をクリックします エクスクラメーション・マーク 以下に示すように、エラーは 流出範囲は空白ではありません。
ステップ3:ドロップダウンから、をクリックします 妨害セルを選択します
ステップ4:流出範囲をブロックしているセルは、以下に示すように強調表示されます
これで、どのセルがブロックされているかがわかったので、問題の原因を正確に確認します。
ステップ5:セルを注意深く調べると、セル内に隠されたデータがいくつか表示されます。
上の画像に見られるように、いくつかのデータがあります。 フォントは白色であるため、詰まりを簡単に認識できません。 エラーを取り除くには、流出範囲内のセルからデータを削除します。
修理 2: カスタム番号のフォーマットを削除します。;; セルに適用
時々、カスタムの数値フォーマットが ;; ; がセルに適用されている場合、SPILLエラーが表示される可能性があります。 そのような場合、
ステップ1:表示されているセルをクリックします #SPILL! エラー
ステップ2:をクリックします エクスクラメーション・マーク 以下に示すように。
ステップ3:ドロップダウンから、をクリックします 妨害セルを選択します
ステップ4:流出範囲をブロックしているセルは、以下に示すように強調表示されます
ステップ5:妨害セルを右クリックします。
ステップ6:選択 セルのフォーマット
手順7:[セルの書式設定]ウィンドウが開きます。 に移動します 番号 タブ
ステップ8:左側のペインから[ カスタム
手順9:右側のペインで、[タイプ]を[;]から変更します。;; に 全般的
ステップ10:をクリックします Ok ボタン
流出範囲がセルをマージしたときに従うべき修正
エラーが原因であることがわかった場合 流出範囲はセルをマージしました 以下に示すように、
ステップ1:をクリックします 妨害セルを選択します ドロップダウンから
ステップ2:妨害セルは 強調表示
ステップ3: 家 タブをクリックし、をクリックします マージ&センター
ステップ4:ドロップダウンから、 セルのマージを解除する
次の場合に従うべき修正 表の流出範囲
動的配列数式は、Excelテーブルではサポートされていません。 以下に示すように、Excelテーブルに#SPILLエラーが表示された場合は、次のメッセージが表示されます。 表の流出範囲,
ステップ1:テーブルを完全に選択する
ステップ2:をクリックします テーブルデザイン トップメニューバーのタブ
ステップ3:選択 範囲に変換
ステップ4:確認ダイアログがポップアップ表示されたら、をクリックします はい
流出範囲がメモリ不足の場合に従うべき修正
#SPILLエラーの原因を特定しようとしているときに、エラーが次のように表示されている場合 メモリ不足、それはあなたが使用している動的配列式が広い範囲を参照しているためです、そのような場合、Excelの実行 メモリ不足 こぼれエラーを引き起こします。 エラーを克服するために、より小さな範囲を参照してみることができます。
流出範囲が不明な場合に従うべき修正
このエラーは、Spilled Arrayのサイズが変更され、ExcelがSpilled範囲のサイズを確立できない場合に発生します。 一般に、RANDARRAY、RAND、RANDBETWEENなどのランダム関数をSEQUENCEなどの動的配列関数と一緒に使用すると、このエラーが発生します。
それをよりよく理解するために、以下の例を考えてみましょう。関数SEQUENCE(RANDBETWEEN(1,100))が使用されているとします。 ここで、RANDBETWEENは、1以上100以下のランダムな整数を生成します。 そして、SEQUENCEは連番を生成します(例えば-SEQUENCE(5)は1,2,3,4,5を生成します)。 ただし、RANDBETWEENは揮発性の関数であり、Excelシートを開いたり変更したりするたびに値が変化し続けます。 このため、SEQUENCE関数は、生成する必要のある配列のサイズを判別できません。 生成する値の数がわからないため、SPILLエラーがスローされます。
エラーの原因を特定すると、次のように表示されます。 流出範囲は不明
この種のエラーを修正するために、 あなたのニーズに合った別の式を試してみてください。
流出範囲が大きすぎる場合に従うべき修正
原因を特定していて、次の理由でエラーが表示されていることに気付いたとします。 流出範囲が大きすぎる 以下に示すように。
動的配列が配置されていないとき、Excelに暗黙の交差と呼ばれるものがありました。 数式が複数を返す可能性がある場合でも、単一の結果を返すことを余儀なくされました 結果。 例を考えてみましょう。 = B:B * 5% がExcel2019以前のバージョンに適用され、暗黙的な共通部分が設定されている場合、結果は次のようになります。
ただし、Excel 365で同じ数式を使用すると、次のエラーが表示されます
これを解決するには、次の修正を試してください
修正1:@演算子を使用して暗黙的な共通部分を適用する
私たちが言うとき = B:B、動的配列はB列全体を参照します。 代わりに、@演算子を使用してExcelに暗黙的な共通部分を強制することができます
式をに変更します[メール保護]:B * 5%
暗黙の共通部分が追加されるため、数式は単一のセルに適用されます。 式を拡張するために、
1. 下図のようにドットをクリックするだけです
2. 必要に応じてセルにドラッグします。 これにより、これらのセルに同じ数式が適用されます。
修正2:列を参照する代わりに、範囲を参照する
式では、 = B:B * 5%、 列Bを参照しています。 代わりに、特定の範囲を参照してください。 = B2:B4 * 5%
それで全部です
この記事が参考になれば幸いです。
上記の方法で問題を解決できた場合は、よろしくお願いします。
読んでくれてありがとう。