Excel ADDRESS-funktion för att få fram celladress med mera

  • Dela Detta
Michael Brown

Handledningen ger en kort introduktion till syntaxen för ADDRESS-funktionen och visar hur du använder den för att återge en Excel-celladress med mera.

För att skapa en cellreferens i Excel kan du skriva in kolumn- och radkoordinaterna manuellt. Alternativt kan du få en Excel-celladress från rad- och kolumnnumren som anges i ADDRESS-funktionen. Denna teknik är nästan meningslös på egen hand, men i kombination med andra funktioner kan den vara den enda lösningen i situationer där det inte är möjligt att hänvisa direkt till en cell.

    Excel ADDRESS-funktionen - syntax och grundläggande användningsområden

    Funktionen ADDRESS är utformad för att få fram en celladress i Excel baserat på de angivna rad- och kolumnnumren. Celladressen returneras som en textsträng, inte som en faktisk referens.

    Funktionen är tillgänglig i alla versioner av Excel för Microsoft 365 - Excel 2007.

    Syntaxen för ADDRESS-funktionen är följande:

    ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

    De två första argumenten är nödvändiga:

    row_num - radnumret som ska användas i cellreferensen.

    kolumn_nummer - kolumnnumret för att skapa cellreferensen.

    De tre sista argumenten, som anger cellreferensformatet, är valfria:

    abs_num - Referenstypen, absolut eller relativ. Den kan ha något av nedanstående nummer; standardvärdet är absolut.

    • 1 eller utelämnas - absolut cellreferens som $A$1
    • 2 - blandad referens: relativ kolumn och absolut rad som A$1
    • 3 - blandad referens: absolut kolumn och relativ rad som $A1
    • 4 - relativ cellreferens, t.ex. A1

    a1 - Referensstilen, A1 eller R1C1. Om den inte anges används standardstilen A1.

    • 1 eller TRUE eller utelämnas - returnerar celladressen i referensstilen A1 där kolumnerna är bokstäver och raderna är siffror.
    • 0 eller FALSK - returnerar celladressen i referensstilen R1C1 där rader och kolumner representeras av siffror.

    sheet_text - Namnet på det arbetsblad som ska ingå i den externa referensen. Namnet på arbetsbladet ska anges som en textsträng och omslutas av citationstecken, t.ex. "Sheet2". Om inget namn anges används inget namn på arbetsbladet och adressen är som standard det aktuella arbetsbladet.

    Till exempel:

    =ADRESS(1,1) - returnerar adressen till den första cellen (dvs. cellen i skärningspunkten mellan den första raden och den första kolumnen) som en absolut cellreferens $A$1.

    =ADRESS(1,1,4) - returnerar adressen till den första cellen som en relativ cellreferens A1.

    I följande tabell finns ytterligare några referenstyper som kan returneras med ADDRESS-formler.

    Formel Resultat Beskrivning
    =ADRESS(1,2) $B$1 Absolut cellreferens
    =ADRESS(1,2,4) B1 Relativ cellreferens
    =ADRESS(1,2,2) B$1 Relativ kolumn och absolut rad
    =ADRESS(1,2,3) $B1 Absolut kolumn och relativ rad
    =ADRESS(1,2,1,1,FALSKT) R1C2 Absolut referens i R1C1-stil
    =ADRESS(1,2,4,FALSE) R[1]C[2] Relativ referens i R1C1-stil
    =ADDRESS(1,2,1,, "Sheet2") Blad2!$B$1 Absolut referens till ett annat blad
    =ADDRESS(1,2,4,, "Sheet2") Blad2!B1 Relativ referens till ett annat blad

    Hur man använder ADDRESS-funktionen i Excel - exempel på formler

    Nedanstående exempel visar hur du kan använda ADDRESS-funktionen i större formler för att utföra svårare uppgifter.

    Återge ett cellvärde i en given rad och kolumn.

    Om ditt mål är att få ett värde från en specifik cell baserat på dess rad- och kolumnnummer använder du funktionen ADDRESS tillsammans med INDIRECT:

    INDIRECT(ADDRESS(row_num, column_num))

    Funktionen ADDRESS ger ut celladressen som text. Funktionen INDIRECT omvandlar texten till en normal referens och returnerar värdet från motsvarande cell.

    Om du till exempel vill få ett cellvärde baserat på radnumret i E1 och kolumnnumret i E2 använder du den här formeln:

    =INDIREKT(ADRESS(E1,E2))

    Få adressen till en cell med det högsta eller lägsta värdet.

    I det här exemplet ska vi först hitta det högsta och lägsta värdet i intervallet B2:B7 med hjälp av funktionerna MAX och MIN och sedan skriva ut dessa värden i särskilda celler:

    Cell E2: =MAX(B2:B7)

    Cell F2: =MIN(B2:B7)

    Sedan använder vi ADDRESS i kombination med MATCH-funktionen för att få fram celladresserna.

    Cell med maxvärdet:

    =ADRESS(MATCH(E2,B:B,0), KOLUMN(B2))

    Cell med det lägsta värdet:

    =ADRESS(MATCH(F2,B:B,0), KOLUMN(B2))

    Om du inte vill ha det högsta och lägsta värdet i separata celler kan du bädda in MAX/MIN-funktionen i det första argumentet i MATCH. Exempel: Om du inte vill ha det högsta och lägsta värdet i separata celler kan du använda MAX/MIN-funktionen i det första argumentet i MATCH:

    Cell med det högsta värdet:

    =ADRESS(MATCH(MAX(B2:B7),B:B,0), KOLUMN(B2))

    Cell med det lägsta värdet:

    =ADRESS(MATCH(MIN(B2:B7),B:B,0), KOLUMN(B2))

    Hur dessa formler fungerar

    För att hitta radnumret använder du funktionen MATCH(lookup_value, lookup_array, [match_type]) som returnerar en relativ position för lookup_value i lookup_array. I vår formel är lookup-värdet det nummer som returneras av MAX- eller MIN-funktionen och lookup-matrisen är hela kolumnen. Följaktligen matchar den relativa positionen för lookup-värdet i matrisen exakt radnumret på arket.

    För att hitta kolumnnumret använder du funktionen COLUMN. Naturligtvis är det inget som hindrar dig från att skriva in numret direkt i formeln, men COLUMN besparar dig besväret att räkna manuellt om kolumnen är mitt på arket.

    Hämta en kolumnbokstav från ett kolumnnummer

    Om du vill omvandla ett givet tal till en kolumnbokstav använder du funktionen ADDRESS i SUBSTITUTE:

    SUBSTITUT(ADRESS(1, kolumn_nummer ,4), "1","")

    Låt oss till exempel hitta den kolumnbokstav som motsvarar siffran i A2:

    =SUBSTITUT(ADRESS(1,A2,4), "1","")

    Om vi tittar på resultaten nedan kan vi konstatera att den första kolumnen på arket är A, vilket är uppenbart, den tionde kolumnen är J, den 50:e kolumnen är AX och den 100:e kolumnen är CV:

    Hur denna formel fungerar

    Till att börja med ställer du in funktionen ADDRESS så att den returnerar en relativ referens till den första cellen i målkolumnen:

    • Använd 1 som radnummer.
    • För kolumnnumret anger du referensen till den cell som innehåller numret, A2 i vårt exempel.
    • Ange 4 för argumentet abs_num.

    Resultatet av ADDRESS(1,A2,4) skulle ge A1.

    Om du vill bli av med radkoordinaten, kan du använda SUBSTITUTE-funktionen för ovanstående formel och ersätta "1" med en tom sträng ("""). Klart!

    Hämta adressen till ett namngivet intervall

    För att hitta adressen till ett namngivet intervall i Excel måste du först få fram den första och sista cellreferensen och sedan slå ihop dem. Detta fungerar lite annorlunda i pre-dynamiska Excel (2019 och äldre) och Dynamic Array Excel (Office 365 och Excel 2021). Nedanstående exempel gäller Excel 2019 - Excel 2007. Anvisningarna för Excel 365 och Excel 2021 finns här.

    Hur man får adressen till den första cellen i ett intervall

    Om du vill returnera en referens till den första cellen i ett namngivet intervall använder du den här generiska formeln:

    ADRESS(ROW( sortiment ),COLUMN( sortiment ))

    Om vi antar att intervallet heter "Försäljning", kan den riktiga formeln se ut på följande sätt:

    =ADRESS(ROW(Sales), COLUMN(Sales))

    Och returnerar adressen till den övre vänstra cellen i intervallet:

    I den här formeln returnerar funktionerna ROW och COLUMN en matris med alla rad- och kolumnnummer i intervallet. Baserat på dessa nummer skapar funktionen ADDRESS en matris med celladresser. Men eftersom formeln skrivs in i en enda cell visas bara den första posten i matrisen, som motsvarar den första cellen i intervallet.

    Hur man får adressen till den sista cellen i ett intervall

    Om du vill hitta adressen till den sista cellen i ett namngivet intervall använder du den här generiska formeln:

    ADRESS(ROW( sortiment )+ROWS( sortiment )-1,COLUMN( sortiment )+SUMMER( sortiment )-1)

    Om vi tillämpar formeln på vårt intervall som heter "Försäljning" får den följande formeln:

    =ADRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)

    Och returnerar referensen till den nedre högra cellen i intervallet:

    Den här gången behöver vi lite mer komplexa beräkningar för att räkna ut radnumret. Precis som i det föregående exemplet ger ROW-funktionen oss en matris med alla radnummer i intervallet, {4;5;6;7} i vårt fall. Vi måste "skjuta" dessa nummer med det totala antalet rader minus 1, så att den första punkten i matrisen blir det sista radnumret. För att hitta det totala antalet rader använder vi ROWS-funktionen ochsubtrahera 1 från resultatet: (4-1=3). Sedan lägger vi till 3 till varje element i den ursprungliga matrisen för att göra den nödvändiga förskjutningen: {4;5;6;7} + 3 = {7;8;9;10}.

    Kolonnnumret beräknas på samma sätt: {2,3,4}+3-1 = {4,5,6}

    Från ovanstående matriser med rad- och kolumnnummer sätter ADDRESS-funktionen ihop en matris med celladresser, men returnerar bara den första som motsvarar den sista cellen i intervallet.

    Samma resultat kan också uppnås genom att välja de högsta värdena från matriserna med rad- och kolumnnummer. Detta fungerar dock endast i en matrisformel, som kräver att du trycker på Ctrl + Shift + Enter för att slutföra korrekt:

    =ADRESS(MAX(ROW(Sales)), MAX(COLUMN(Sales)))

    Hur får man fram den fullständiga adressen till ett namngivet intervall?

    För att få tillbaka den fullständiga adressen för ett namngivet intervall behöver du bara sammanfoga de två formlerna från de tidigare exemplen och infoga intervalloperatorn (:) mellan dem.

    ADRESS(ROW( sortiment ), COLUMN( sortiment ))) & ":" & ADDRESS(ROW( sortiment ) + ROWS( sortiment )-1, COLUMN( sortiment ) + COLUMNS( sortiment )-1)

    För att få det att fungera för vårt datauppsättningsexempel ersätter vi det generiska "range" med det riktiga intervallnamnet "Sales":

    =ADDRESS(ROW(Sales), COLUMN(Sales)) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)

    Och få den fullständiga adressen till området som en absolut referens $B$4:$D$7:

    Om du vill returnera adressen till området som en Relativ referens (utan $-tecknet, som B4:D7), ange abs_num-argumentet i båda ADDRESS-funktionerna till 4:

    =ADDRESS(ROW(Sales), COLUMN(Sales), 4) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1, 4)

    Samma ändringar kan naturligtvis göras i enskilda formler för den första och sista cellen, och resultatet kommer att se ut ungefär så här:

    Så här får du adressen till ett namngivet intervall i Excel 365 och Excel 2021

    Till skillnad från det traditionella beteendet "en formel - en cell" i äldre versioner gör alla formler som kan ge flera värden automatiskt detta i nya Excel. Detta beteende kallas för "spilling".

    Istället för att återge adressen till den första cellen, ger nedanstående formel till exempel adresserna till varje cell i ett namngivet intervall:

    =ADRESS(ROW(Sales), COLUMN(Sales))

    För att få adressen till första cellen måste du aktivera implicit korsning, vilket aktiveras som standard i Excel 2019 och äldre. För detta sätter du symbolen @ (implicit korsningsoperatör) före intervallnamnen:

    =ADRESS(@ROW(Försäljning), @COLUMN(Försäljning))

    På samma sätt kan du korrigera andra formler.

    För att få sista cellen i intervallet:

    =ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)

    För att få adress för ett namngivet område :

    =ADDRESS(@ROW(Sales), @COLUMN(Sales)) & ":" & ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)

    Nedanstående skärmdump visar resultatet:

    Tips: När du öppnar ett kalkylblad med formler som skapats i en äldre version i Excel med dynamisk matris, infogar Excel automatiskt en implicit skärningsoperatör.

    Det är så du returnerar en celladress i Excel. Om du vill titta närmare på alla formler som diskuteras i den här handledningen är du välkommen att ladda ner vår exempelarbetsbok nedan. Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Arbetsbok för övning för nedladdning

    Excel ADDRESS-funktionen - exempel på formler (.xlsx-fil)

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.