Video: Excel Macro VBA Tip 10 - Enter Array Formulas into Cells in Excel with a Macro 2024
Det finns en viktig skillnad mellan att ange en formel med hjälp av tangentbordskombinationen Ctrl + Enter, och med Ctrl + Shift + Enter. Båda resulterar i en rad resultat om du börjar med att välja ett antal celler, men bara formeln som skrivs in med Ctrl + Shift + Enter är vad Excel vanligtvis betyder en "arrayformel. "Här är skillnaden.
När du matar in - mata in en formel, använder du Ctrl + Shift + Enter, skriver du in en formel i flera celler. Dessa celler visar normalt olika resultat, ofta eftersom din formel använder en funktion som LINEST eller TRANSPOSE som är utformad för att returnera olika värden i olika celler. Eller de olika resultaten kan komma att bero på att formelens argument innehåller en rad celler.
Det är en subtil skillnad, men med Ctrl + Enter finns olika formler i de valda cellerna, där Ctrl + Shift + Enter resulterar i samma formel i vart och ett av de valda cellerna.
Varje cell i C1: C5 innehåller samma matrisformel.Cellerna i intervallet C1: C5 delar samma matrisformel. Resultaten som visas i de enskilda cellerna är annorlunda eftersom arrayformeln returnerar en uppsättning av fem olika värden.
= A7
och sedan in i formeln med Ctrl + Enter, skulle det ha samma effekt som om du hade angivit formeln normalt i C7, kopierat den och klistrade in det till C8: C11. Det vill säga, formeln justerade sina referenser till punkt A8, A9, A10 och A11. Olika celler, olika formler.
= A13: A17
Igen användes Ctrl + Enter för att fylla alla fem celler i C13: C17. Formeln justerade också sina referenser som visas i E13: E17. Resultaten använder vad Excel kallar
implicit skärningspunkt.
Det vill säga, placeringen av formeln innebär platsen för korsningen med en grupp av celler. Så, C13 pekar vid A13: A17 och C13 rad skär A13: A17 vid A13. Formeln i C13 returnerar det värde som hittades vid den korsningen, 1. På samma sätt. Formeln i C17 pekar på A17: A21. Den skär A17: A21 vid A17 och det implicita korsningen får formeln att returnera värdet i korsningen, 5.