web-dev-qa-db-ja.com

Excelの数式に "@"( "at")記号が突然現れたのはなぜですか?

一言で言えば

多くのExcelスプレッドシートの多くの数式で、「@」記号が以前とは異なる場所に表示されるのはなぜですか?

それらは@メンション、構造化参照またはテーブル式の使用の一部ではなく、他の通常の容疑者のいずれでもありません。

TL; DRの詳細

(注:システム情報はこの投稿の最後にあります)

私が言うように、それらは@メンションではなく、構造化参照を使用していません。また、私はロータスのユーザーではありませんし、使ったこともないので、@記号を数式に押し込んで、それらの人が時々ハードワイヤードされているように見えるようにしたりはしません。実際、@を数式で使用したことがあり、TEST()の不定期なフォーマットコードの一部として使用したことはないので、ここでもそうではありません。

以下は例です(ランダムに取得)。この:

= IFS(DX $ 33 = ""、 ""、ISNUMBER(MATCH(DX $ 33、$ AJ $ 33:$ DR $ 33,0))、HLOOKUP(DX $ 33、$ AJ $ 33:$ DR $ 1033、ROWS(DX $ 33:DX36 )+1,0)、TRUE、0)

これは次のようになります。

= @ IFS(DX $ 33 = ""、 ""、ISNUMBER(MATCH(DX $ 33、$ AJ $ 33:$ DR $ 33,0))、HLOOKUP(DX $ 33、$ AJ $ 33:$ DR $ 1033、@ ROWS(DX $ 33 :DX36)+1,0)、TRUE、0)

私が言うように、それは単なるランダムな例です。他にもたくさんあり、その多くはIFS()ほどエキゾチックではないので、それが原因だとは思いません。

単なる表示効果?

ここで、上記のように「のように見える」と言います。神秘的な@が実際にはファイル自体に含まれておらず、Excelで表示されているだけの可能性があるためです。私は、DropBoxのバージョン履歴から確認できる少なくとも1つのファイルを持っているので、バージョンが1つしかないことがわかります-私の(@ -free)オリジナルです。したがって、@記号なしで開始され、(DropBoxのバージョン管理に従って)変更されていませんが、@記号が表示されるようになりました。説明の1つは、変更されたのはExcelではなくファイルであるため、変更は単なる表示のアーチファクトです。ああ、@を削除しても式には影響がないようです。

@は本物

一方、ニヤリとするために、まったく新しいフォーミュラを作成してみました。

= @ A1

これを入力しようとすると、「この数式は一部の古いバージョンのExcelではサポートされていません」という警告が表示され、次のバリエーションに置き換えることを勧められました。

= A1

したがって、この@の使用は実際のものであるように見え、常に使用されているわけではありません。 (これは明らかに行参照での[]と組み合わせての使用に適用されますが、これはそうではありません!)

とにかく、@を削除するかどうかをExcelから尋ねられたので、私は風に注意を払い、「Mind your own business!」(aka "No ")。私の元の@化されたバージョンを挿入することを義務付けられたExcel、そして私が見ることができることから、それは問題なく、代わりに使用するようにExcelが私に説得しようとした@フリーバージョンとまったく同じように動作します。

そう?

誰でもこれをすべて説明できますか? Excelの最近の更新で、新しい@構文が導入された可能性はありますか?そして最近では、過去2〜3か月間で最大です。 12月中旬から下旬に作成したファイルには、当時@ -freeであり、現在@ -ifiedになっていることがわかっています。しかし、もしそうなら、なぜExcelが私に尋ねることなく、気の利いた無駄に変更されたファイルをさまよいているだけなのでしょうか?そして、なぜ私が知っているバージョンが1つしかないために変更されていないExcelファイルが、なぜこれらの@記号の到着によって変更されたように見えるのですか?

私は1時間以上手がかりを探し回っていますが、決定的なものはありません。 1つの難点は、「@」が広く使用されている文字であるため、Googleがスローしているものの多くが無関係であるということです。

システム情報

  • Excel for the Mac、バージョン16.34(20020900)、Office 365の一部
  • MacOSカタリナ10.5.3

どうも。

3
tkp

おめでとうございます。新しいDynamic Formulasを入手しました。 @は、動的配列数式に値を1つだけ返すように指示します。基本的には、数式の古い配列バージョンのように機能します。

新しい動的配列数式では、値を自動的にSPILLにしたいと考えています。

たとえば、ランダムな値をA1:A15に入れます

enter image description here

次にB1に入れます:

=INDEX($A$1:$A$15,SEQUENCE(15))

通常入ります。 Excelは値を「流出」させます。

enter image description here

次に、@B1の数式の前に追加します。処方はもうこぼれません。

enter image description here

ただし、以前のスタイルと同じように、B1:B15を選択してEnterの代わりにCtrl-Shift-Enterを押し、@数式を入力すると、以前と同じように範囲が埋められます。

enter image description here

自動変更に関しては、新しい機能を使用しないとうまくいきません。

しかし、新しい動的配列関数を調べれば、多くのことがはるかに簡単になります。ただし、新しい下位互換性については、共有するときに考慮する必要があります。

7
Scott Craner