Operatoren for implicitte skæringspunkter blev introduceret som en del af en stor opgradering til Excels formelsprog for at understøtte dynamiske matricer. Dynamiske matricer giver Excel store nye muligheder for beregning og funktionalitet.
Opgraderet formelsprog
Excels opgraderede formelsprog er næsten identisk med det gamle sprog, bortset fra at det bruger operatoren @ til at angive, hvor et implicit skæringspunkt kan forekomme, hvorimod det gamle sprog gjorde dette automatisk. Derfor bemærker du muligvis, at der vises @-symboler i nogle formler, når de åbnes i dynamiske Excel-matricer. Det er vigtigt at være opmærksom på, at dine formler fortsætter med at beregne på samme måde, som de altid har gjort.
Hvad er implicit skæringspunkt?
Logik for implicitte skæringspunkter reducerer mange værdier til en enkelt værdi. Excel gjorde dette for at tvinge en formel til at returnere en enkelt værdi, da en celle kun kunne indeholde en enkelt værdi. Hvis din formel returnerede en enkelt værdi, gjorde det implicitte skæringspunkt intet (også selvom den teknisk set blev udført i baggrunden). Logikken fungerer på følgende måde:
-
Hvis værdien er et enkelt element, skal du returnere elementet.
-
Hvis værdien er et område, skal du returnere værdien fra cellen på samme række eller i samme kolonne som formlen.
-
Hvis værdien er en matrix, skal du vælge den øverste venstre værdi.
Med indtoget af dynamiske matricer er Excel ikke længere begrænset til at returnere enkelte værdier fra formler, så et implicit skæringspunkt er ikke længere nødvendigt. Hvor en gammel formel usynligt kunne udløse et implicit skæringspunkt, viser dynamisk matrixaktiveret Excel, hvor det ville være indtræffet med et @.
Hvorfor @-symbolet?
@-symbolet bruges allerede i tabelreferencer til at angive et implicit skæringspunkt. Overvej følgende formel i en tabel =[@Column1]. Her angiver @, at formlen skal bruge et implicit skæringspunkt til at hente værdien på den samme række fra [Column1].
Kan du fjerne @?
Det kan du ofte. Det afhænger af, hvilken del af formlen til højre for @ der returneres:
-
Hvis den returnerer en enkelt værdi (det mest almindelige), sker der ingen ændring ved at fjerne @.
-
Hvis det returnerer et område eller en matrix, vil fjernelse af @-symbolet medføre, at der sker overløbtil de tilstødende celler.
Hvis du fjerner en automatisk tilføjet @ og senere åbner projektmappen i en ældre version af Excel, vises den som en ældre matrixformel (omsluttet af klammeparenteser {}). Det sker for at sikre, at den ældre version ikke udløser implicit skæringspunkt.
Hvornår føjer vi @ til gamle formler?
Generelt vil funktioner, der returnerer flercelleintervaller eller matricer, være foranstillet med @, hvis de er blevet oprettet i en ældre version af Excel. Det er vigtigt at bemærke, at der ikke er nogen ændring af den måde, din formel fungerer på – du kan bare se det tidligere implicitte skæringspunkt nu. Almindelige funktioner, der kan returnere flercelleintervaller, omfatter INDEKS, FORSKYDNING og UDF'er (brugerdefinerede funktioner). En almindelig undtagelse er, hvis de omsluttet i en funktion, der accepterer en matrix eller et område (f.eks. SUM() eller GENNEMSNIT()).
Se Excel-funktioner, der returnerer områder eller matricer for at få flere oplysninger.
Eksempler
Oprindelig formel |
Som det fremgår af Excel med dynamisk matrix |
Forklaring |
---|---|---|
=SUM(A1:A10) |
=SUM(A1:A10) |
Ingen ændring – Der kan ikke forekomme et implicit skæringspunkt, da SUM-funktionen forventer områder eller matricer. |
=A1+A2 |
=A1+A2 |
Ingen ændring – Der kan ikke forekomme et implicit skæringspunkt. |
=A1:A10 |
=@A1:A10 |
Implicit skæringspunkt vil indtræffe, og Excel returnerer den værdi, der er knyttet til den række, formlen er i. |
=INDEX(A1:A10,B1) |
=@INDEX(A1:A10,B1) |
Der kan forekomme et implicit skæringspunkt. Funktionen INDEKS kan returnere en matrix eller et område, når dets andet eller tredje argument er 0. |
=OFFSET(A1:A2,1,1) |
=@OFFSET(A1:A2,1,1) |
Der kan forekomme et implicit skæringspunkt. Funktionen FORSKYDNING kan returnere et område med flere celler. Når den gør det, udløses der et implicit skæringspunkt. |
=MYUDF() |
=@MYUDF() |
Der kan forekomme et implicit skæringspunkt. Brugerdefinerede funktioner kan returnere matricer. Når de gør det, ville den oprindelige formel have udløst et implicit skæringspunkt. |
Brug af operatoren @ i nye formler
Hvis du opretter eller redigerer en formel i Excel med dynamiske matricer, der indeholder @-operatoren, kan den vise sig som _xlfn.SINGLE() i Excel før dynamisk matrix.
Dette sker, når du bruger en blandet formel. En blandet formel er en formel, der afhænger af både matrixberegning og implicit skæringspunkt. Dette understøttes ikke af Excel før dynamisk matrix. Versioner før dynamisk matrix understøttede kun formler, der udførte i) implicit skæringspunkt eller ii) matrixberegning hele vejen igennem.
Når dynamisk matrixaktiveret Excel registrerer oprettelse af en "blandet formel", foreslår programmet en variant af den formel, der er implicit skæringspunkt hele vejen igennem. Hvis du f.eks. indtaster =A1:A10+@A1:A10, , får du vist følgende dialog:
Hvis du vælger at afvise den formel, der foreslås i dialogboksen, vil den blandede formel =A1:A10+@A1:A10 blive accepteret. Hvis du senere åbner denne formel i Excel før dynamisk matrix, vises den som =A1:A10+_xlfn.SINGLE(A1:A10) mens @-symbolerne i den blandede formel vises som _xlfn.SINGLE(). Når denne formel evalueres af Excel før dynamisk matrix, returnerer den et #NAME! .
Har du brug for mere hjælp?
Du kan altid spørge en ekspert i Excel Tech Community eller få support i community'er.