暗黙的なインターセクション演算子:@

暗黙的なインターセクション演算子は、動的な配列をサポートするために、Excel の数式言語への大幅なアップグレードの一部として導入されました。 動的配列を使うと、Excel に大幅な計算機能と機能が追加されます。

アップグレードされた数式の言語

Excel のアップグレードされた数式言語は、以前の言語とほぼ同じです。ただし、暗黙的な交差が発生する可能性があることを示すために @ 演算子を使用しているのに対して、古い言語は黙っています。 この結果、動的配列 Excel で開いたときに、いくつかの数式に @ が表示されることがあります。 数式の計算は、常に同じ方法で行われることに注意する必要があります。  

共通部分とは何ですか?

共通部分の交差ロジックは、多くの値を1つの値に減らします。 これにより、1つのセルに1つの値しか格納できないため、数式が単一の値を返すように強制されました。 数式が単一の値を返していた場合、暗黙的な交差は何も行わなかったことになります (技術的には、バックグラウンドで実行されています)。 ロジックは次のように動作します。

  • 値が1つの項目の場合は、その項目を返します。

  • 範囲が指定されている場合は、同じ行または列のセルの値が数式として返されます。

  • 値が配列の場合は、左上の値を選びます。

動的な配列が出現したため、Excel は数式から単一の値を返すように制限されていないため、無音の暗黙的な共通部分は不要になりました。 古い数式が表示されているときに、暗黙的な共通部分が表示されることがあります。この場合、Excel では、@ を使用したときの結果が表示されます。  

@ 記号が必要な理由 

@ 記号はテーブル参照で既に使われており、共通部分を示しています。 テーブル = [@Column1] には、次の数式が含まれていることを検討してください。 ここで、@ は、数式で [Column1] から同じ行の値を取得するために、暗黙的な共通部分を使用する必要があることを示します。  

@ を削除することはできますか? 

多くの場合、ご利用いただけます。 この値は、@ の右側にある数式の部分によって異なります。 

  • 1つの値 (最も一般的なケース) を返す場合は、@ を削除しても変更はありません。

  • 範囲または配列を返す場合、@ を削除すると、隣接するセルにスピルされます。

自動的に追加された @ を削除した後で、以前のバージョンの Excel でブックを開くと、従来の配列数式として表示されます (かっこ {})。これは、古いバージョンの共通部分がトリガーされないようにするためです。

古い数式に @ を追加するには、どうすればよいですか? 

一般的に言えば、複数セル範囲または配列を返す関数は、古いバージョンの Excel で作成されている場合は @ というプレフィックスが付きます。 数式の動作に変化がないことに注意することが重要です。これで、以前に非表示になっている暗黙的なインターセクションが表示されるだけです。 複数セル範囲を返すことができる一般的な関数には、インデックス、OFFSET、ユーザー定義の関数 (Udf) があります。  一般的な例外としては、配列または range (SUM () または AVERAGE ()) を受け取る関数でラップされていることがあります。 

詳細については、「範囲または配列を返す Excel 関数」を参照してください。

使用例

元の数式

動的配列 Excel での表示 

説明

= SUM (A1: A10) 

= SUM (A1: A10) 

変更なし-SUM 関数では範囲または配列が想定されているため、暗黙的な交点は発生しません。 

=A1+A2 

=A1+A2 

変更なし-暗黙的な交点は発生しません。 

= A1: A10 

= @A1: A10 

共通部分が表示され、数式が含まれている行に対応する値が返されます。

= INDEX (A1: A10, B1) 

= @INDEX (A1: A10, B1) 

共通部分が発生する可能性があります。 INDEX 関数は、2番目または3番目の引数が0のときに、配列または範囲を返すことができます。  

= OFFSET (A1: A2, 1, 1) 

= @OFFSET (A1: A2, 1, 1) 

共通部分が発生する可能性があります。 OFFSET 関数は、複数セルの範囲を返すことができます。 そうすると、暗黙的な交点がトリガーされます。 

= MYUDF () 

= @MYUDF () 

共通部分が発生する可能性があります。 ユーザー定義関数は、配列を返すことができます。 この操作を行うと、元の数式の共通部分がトリガーされます。 

新しい数式で @ 演算子を使用する

@ 演算子を含む動的配列 Excel で数式を作成または編集すると、_xlfn として表示されることがあります。動的な配列 Excel の SINGLE ()。

これは、混合式をコミットしたときに発生します。 複合数式は、配列計算と暗黙的な積集合の両方に依存する数式であり、動的配列 Excel ではサポートされていません。 動的配列の場合、サポートされていた数式のみが対象として、暗黙的なインターセクションまたはii) 配列の計算が行われます。

動的配列が有効になっていると、Excel では、"mixed formula" の作成が検出されます。これは、全体で共通する数式のバリエーションを提示します。 たとえば、「 = A1: a10 + @A1: a10 」と入力すると、次のダイアログボックスが表示されます。

Fromula = @A1 の使用を希望するかどうかを確認するダイアログ。代わりに a10 + @A1: A10

ダイアログによって提案された数式を拒否するように選択した場合、複合式= A1: a10 + @A1: A10がコミットされます。 この数式を後で動的配列 Excel で開くと、 = A1: A10 + _xlfn として表示されます。_Xlfn として表示された複合数式に @ が含まれる単一 (A1: A10) SINGLE ()。 この数式が事前動的配列によって評価されると、#NAME が返されます。 が返されます。 

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

関連項目

FILTER 関数

RANDARRAY 関数

SEQUENCE 関数

SORT 関数

SORTBY 関数

UNIQUE 関数

Excel での #SPILL! エラー

動的配列とスピル配列の動作

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

ヘルプを表示

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×