暗黙的な交差演算子は、動的配列をサポートするために、Excelの数式言語への大幅なアップグレードの一環として導入されました。 動的配列を使用すると、新しい計算機能と機能が大幅にExcel。

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

Excelのアップグレードされた数式言語は古い言語とほぼ同じですが、@ 演算子を使用して暗黙的な交差が発生する可能性がある場所を示すのに対し、古い言語では暗黙的にこれを行いました。 その結果、動的配列で開いた場合、一部の数式に @' が表示Excel。 数式は、常に同じ方法で計算を続ける ので注意が必要です。  

暗黙的な交差とは

暗黙的な交差ロジックは、多くの値を 1 つの値に減らします。 Excelが 1 つの値しか含めなかったので、数式で強制的に 1 つの値を返す必要があります。 数式が 1 つの値を返していた場合、暗黙的な交差は何も行われなかった (技術的にはバックグラウンドで実行されている場合でも)。 ロジックは次のように動作します。

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

  • 値が範囲の場合は、数式と同じ行または列のセルから値を返します。

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

動的配列の登場により、Excel関数は数式から単一の値を返すのに制限されなくなったので、暗黙的な暗黙的な交差は不要になります。 古い数式が暗黙的な交差を目に見えてトリガーできる場合、動的配列が有効Excelが @ で発生した場所を示します。  

@ 記号が表示される理由 

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

@? を削除できますか? 

多くの場合、可能です。 これは、@ の右側の数式の部分が返す内容によって異なります。 

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

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

自動的に追加された @ を削除し、後で古いバージョンの Excel でブックを開いた場合は、従来の配列数式 (中かっこ {} でラップ) として表示されます。これは、古いバージョンが暗黙的な交差をトリガーしなかからなことを保証するために行われます。

古い数式に @ を追加する場合 

一般に、複数のセル範囲または配列を返す関数は、以前のバージョンの関数で作成された場合、 @ でプレフィックスが付Excel。 数式の動作に変更はありません。以前は非表示だった暗黙的な共通部分が表示されます。 複数セル範囲を返す可能性がある一般的な関数には、INDEX、OFFSET、ユーザー定義関数 (UDF) があります。  一般的な例外は、配列または範囲 (SUM() や AVERAGE() など) を受け取る関数でラップされている場合です。 

詳細についてはExcelを返す関数を参照してください。

使用例

元の数式

動的配列の値に関するExcel 

説明

=SUM(A1:A10) 

=SUM(A1:A10) 

変更なし - SUM 関数は範囲または配列を受け取るので、暗黙的な交差は発生しません。 

=A1+A2 

=A1+A2 

変更なし - 暗黙的な交差が発生する可能性はありません。 

=A1:A10 

=@A1:A10 

暗黙的な共通部分が発生しExcel数式の行に関連付けられている値が返されます。

=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。事前動的配列内の SINGLE() Excel。

これは、混合数式をコミットするときに発生します。 複合数式は、配列の計算と暗黙的な交差の両方に依存する数式であり、これは事前動的配列関数ではサポートExcel。 事前動的配列は、i) 暗黙的な交差または ii) 配列の計算全体を通じてサポートされている数式のみです。

動的配列を有効Excel"混合数式" の作成を検出すると、式のバリエーションが提案されます。この数式は、全体を通して共通部分を暗黙的に表します。 たとえば、「= A1:A10+@A1:A10」と入力すると、次のダイアログが表示されます。

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

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

補足説明

Excel 技術コミュニテでは、いつでも専門家に質問できます。また、Answers コミュニティでは、サポートを受けられます。

関連項目

FILTER 関数

RANDARRAY 関数

SEQUENCE 関数

SORT 関数

SORTBY 関数

UNIQUE 関数

Excel での #SPILL! エラー

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

ヘルプを表示

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

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

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

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

×