Implicit skärningspunktsoperator: @

Gäller för
Excel för Microsoft 365 Excel för Microsoft 365 för Mac Excel 2024 Excel 2021

Microsoft introducerade implicit skärningspunktsoperatorn som en del av en betydande uppgradering av Excels formelspråk för att stödja dynamiska matriser. Dynamiska matriser ger betydande nya beräkningsförmåga och funktioner till Excel.

Uppgraderat formelspråk

Excels uppgraderade formelspråk är nästan identiskt med det gamla språket, förutom att det använder @-operatorn för att ange var implicit skärningspunkt kan inträffa, medan det gamla språket gjorde detta tyst. Därför kanske du märker att @-operatorer visas i vissa formler när du öppnar dem i dynamisk matris i Excel. Formlerna fortsätter att beräkna på samma sätt som de alltid har gjort.  

Vad är implicit skärningspunkt?

Implicit skärningslogik minskar många värden till ett enda värde. Excel gjorde detta för att tvinga fram en formel att returnera ett enda värde, eftersom en cell endast kunde innehålla ett enda värde. Om formeln returnerade ett enda värde gjorde implicit skärningspunkt ingenting (även om det tekniskt sett gjordes i bakgrunden). Logiken fungerar så här:

  • Om värdet är ett enskilt objekt returnerar du objektet.
  • Om värdet är ett område returnerar du värdet från cellen på samma rad eller kolumn som formeln.
  • Om värdet är en matris väljer du värdet högst upp till vänster.

Med de dynamiska matriserna är Excel inte längre begränsat till att returnera enstaka värden från formler, så det är inte längre nödvändigt med tyst implicit skärningspunkt. Där en gammal formel kunde osynligt utlösa implicit skärningspunkt, visar aktiverad Excel med dynamisk matris var den skulle ha inträffat med @-operatorn.  

Varför symbolen @?

@-tecknet används redan i tabellreferenser för att ange implicit skärningspunkt. Tänk på följande formel i en tabell =[@Column1]. @ anger att formeln använder implicit skärningspunkt för att hämta värdet på samma rad från [Column1].  

Kan du ta bort @?

Det kan du ofta. Det beror på vad den del av formeln som visas till höger om @-tecknet returnerar:

  • Om det returnerar ett enda värde (det vanligaste fallet) blir det ingen förändring när du tar bort @-operatorn.
  • Om den returnerar ett område eller en matris och du tar bort @-tecknet spills det till intilliggande celler.

Om du tar bort ett automatiskt tillagt @ och senare öppnar arbetsboken i en äldre version av Excel visas den som en äldre matrisformel (radbruten med klammerparenteser {}). Det här beteendet säkerställer att den äldre versionen inte utlöser implicit skärningspunkt.

När lägger vi till @-tecknet i gamla formler?

I allmänhet har funktioner som returnerar flera cellområden eller matriser prefixet @ om du skapade dem i en äldre version av Excel. Det har inte ändrats hur formeln fungerar – du kan bara se den tidigare osynliga implicita skärningspunkten nu. Vanliga funktioner som returnerar cellområden är INDEX, FÖRSKJUTNING och användardefinierade funktioner (UDF). Ett vanligt undantag är om de är radbrutna i en funktion som accepterar en matris eller ett område (till exempel SUMMA() eller MEDEL()). 

För mer information läs Excel-funktioner som returnerar områden eller matriser.

Exempel

Ursprunglig formel Så som visas i Excel med dynamisk matris Förklaring
=SUM(A1:A10) =SUM(A1:A10) Ingen ändring – ingen implicit skärningspunkt kan inträffa eftersom funktionen SUMMA förväntar sig områden eller matriser.
=A1+A2 =A1+A2 Ingen ändring – ingen implicit skärningspunkt får förekomma.
=A1:A10 =@A1:A10 Implicit skärningspunkt inträffar, och Excel returnerar värdet som är kopplat till den rad som formeln finns i.
=INDEX(A1:A10,B1) =@INDEX(A1:A10,B1) Implicit skärningspunkt kan förekomma. INDEX-funktionen kan returnera en matris eller ett område när dess andra eller tredje argument är 0.
=FÖRSKJUTNING(A1:A2,1,1) =@FÖRSKJUTNING(A1:A2,1,1) Implicit skärningspunkt kan förekomma. Funktionen FÖRSKJUTNING kan returnera ett flercellsområde. När den gör det utlöses implicit skärningspunkt.
=MYUDF() =@MYUDF() Implicit skärningspunkt kan förekomma. Skapa anpassade funktioner i Excel kan returnera matriser. När de gör det utlöser den ursprungliga formeln implicit skärningspunkt.

Använda operatorn @ i nya formler

Om du skapar eller redigerar en formel i dynamisk matris i Excel som innehåller @-operatorn kan det visas som _xlfn. SINGLE() i fördynamisk matris i Excel.

Det här beteendet inträffar när du genomför en blandad formel. En blandad formel är en formel som använder både matrisberäkning och implicit skärningspunkt. Fördynamisk matris Excel stöder inte den här kombinationen. Fördynamisk matris Excel stöder bara formler som gör i) implicit skärningspunkt eller ii) matrisberäkningar alltigenom.

När dynamisk matris-aktiverad Excel upptäcker skapandet av en blandad formel föreslår den en variant av formeln som använder implicit skärningspunkt genomgående. Om du till exempel anger =A1:A10+@A1:A10, visas följande dialogruta:

Skärmbild som visar en dialogruta som frågar om du föredrar formeln =@A1:A10 + @A1:A10 i stället.

Om du väljer att avvisa formeln som föreslås i dialogrutan, genomförs den blandade formeln =A1:A10+@A1:A10 . Om du senare öppnar den här formeln i fördynamisk matris i Excel visas den som =A1:A10+_xlfn.SINGLE(A1:A10) med @-operatorerna i den blandade formeln _xlfn.SINGLE(). som visas som När fördynamisk matris Excel utvärderar den här formeln returnerar den en #NAME! felvärde. 

Behöver du mer hjälp?

Du kan alltid fråga en expert i Excel Tech Community eller få support i Communities.

Mer information finns i

Funktionen FILTER

Funktionen SLUMPMATRIS

Funktionen SEKVENS

Funktionen SORTERA

Funktionen SORTERAEFTER

Funktionen UNIK

Felet #SPILL! i Excel

Dynamiska matriser och beteenden för matriser och spill