Inhoudsopgave
De handleiding geeft een korte inleiding tot de syntaxis van de ADDRESS-functie en laat zien hoe u deze kunt gebruiken om een Excel-celadres en meer te retourneren.
Om een celverwijzing in Excel te maken, kunt u de kolom- en rijcoördinaten handmatig invoeren. Als alternatief kunt u een Excel-celadres verkrijgen uit de rij- en kolomnummers die aan de ADDRESS-functie worden verstrekt. Op zichzelf bijna zinloos, maar in combinatie met andere functies kan deze techniek de enige oplossing zijn in situaties waarin het niet mogelijk is rechtstreeks naar een cel te verwijzen.
Excel ADDRESS functie - syntaxis en basisgebruik
De functie ADRES is ontworpen om een celadres in Excel te verkrijgen op basis van de opgegeven rij- en kolomnummers. Een celadres wordt geretourneerd als een tekststring, niet als een feitelijke verwijzing.
De functie is beschikbaar in alle versies van Excel voor Microsoft 365 - Excel 2007.
De syntaxis van de ADDRESS-functie is als volgt:
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])De eerste twee argumenten zijn vereist:
rij_nummer - het rijnummer dat in de celverwijzing moet worden gebruikt.
kolom_nummer - het kolomnummer om de celverwijzing op te bouwen.
De laatste drie argumenten, die het formaat van de celverwijzing specificeren, zijn optioneel:
abs_num - het verwijzingstype, absoluut of relatief. Het kan elk van de onderstaande getallen aannemen; de standaardwaarde is absoluut.
- 1 of weggelaten - absolute celverwijzing zoals $A$1
- 2 - gemengde verwijzing: relatieve kolom en absolute rij zoals A$1
- 3 - gemengde verwijzing: absolute kolom en relatieve rij zoals $A1
- 4 - relatieve celverwijzing zoals A1
a1 - de referentiestijl, A1 of R1C1. Indien weggelaten, wordt de standaardstijl A1 gebruikt.
- 1 of TRUE of weggelaten - geeft het celadres terug in de A1-referentiestijl waarbij de kolommen letters zijn en de rijen getallen.
- 0 of FALSE - geeft het celadres terug in de referentiestijl R1C1 waarbij rijen en kolommen worden weergegeven door getallen.
blad_tekst - de naam van het werkblad dat in de externe verwijzing moet worden opgenomen. De bladnaam moet worden opgegeven als een tekststring en tussen aanhalingstekens staan, bijvoorbeeld "Sheet2". Als deze wordt weggelaten, wordt geen werkbladnaam gebruikt en wordt het adres standaard op het huidige blad gezet.
Bijvoorbeeld:
=ADDRESS(1,1)
- geeft het adres van de eerste cel (d.w.z. de cel op het snijpunt van de eerste rij en de eerste kolom) als een absolute celverwijzing $A$1.
=ADRES(1,1,4)
- geeft het adres van de eerste cel als een relatieve celverwijzing A1.
In de volgende tabel vindt u nog enkele verwijzingstypen die door ADDRESS-formules kunnen worden teruggegeven.
Formule | Resultaat | Beschrijving |
=ADDRESS(1,2) | $B$1 | Absolute celverwijzing |
=ADRES(1,2,4) | B1 | Relatieve celverwijzing |
=ADRES(1,2,2) | B$1 | Relatieve kolom en absolute rij |
=ADRES(1,2,3) | $B1 | Absolute kolom en relatieve rij |
=ADDRESS(1,2,1,FALSE) | R1C2 | Absolute referentie in de stijl R1C1 |
=ADDRESS(1,2,4,FALSE) | R[1]C[2] | Relatieve verwijzing in de stijl R1C1 |
=ADDRESS(1,2,1,,,"Sheet2") | Sheet2!$B$1 | Absolute verwijzing naar een ander blad |
=ADDRESS(1,2,4,,,"Sheet2") | Blad2!B1 | Relatieve verwijzing naar een ander blad |
Hoe de ADDRESS functie in Excel gebruiken - formulevoorbeelden
De onderstaande voorbeelden laten zien hoe de ADDRESS-functie binnen grotere formules kan worden gebruikt om moeilijkere taken uit te voeren.
Geeft als resultaat een celwaarde in een gegeven rij en kolom
Als u een waarde wilt krijgen uit een specifieke cel op basis van de rij- en kolomnummers, gebruikt u de functie ADDRESS in combinatie met INDIRECT:
INDIRECT(ADDRESS(row_num, column_num))De functie ADDRESS voert het celadres uit als tekst. De functie INDIRECT zet die tekst om in een normale verwijzing en geeft de waarde van de overeenkomstige cel terug.
Om bijvoorbeeld een celwaarde te krijgen op basis van het rijnummer in E1 en het kolomnummer in E2, gebruikt u deze formule:
=INDIRECT(ADRES(E1,E2))
Krijg het adres van een cel met de hoogste of laagste waarde
In dit voorbeeld vinden we eerst de hoogste en laagste waarden in het bereik B2:B7 met behulp van de functies MAX en MIN en voeren we die waarden uit in speciale cellen:
Cel E2: =MAX(B2:B7)
Cel F2: =MIN(B2:B7)
En dan gebruiken we ADDRESS in combinatie met de MATCH-functie om de celadressen te krijgen.
Cel met de maximale waarde:
=ADRES(MATCH(E2,B:B,0), KOLOM(B2))
Cel met de min-waarde:
=ADRES(MATCH(F2,B:B,0), KOLOM(B2))
Indien u de hoogste en laagste waarde niet in afzonderlijke cellen wilt, kunt u de MAX/MIN-functie in het eerste argument van MATCH nestelen. Bijvoorbeeld:
Cel met de hoogste waarde:
=ADRES(MATCH(MAX(B2:B7),B:B,0), KOLOM(B2))
Cel met de laagste waarde:
=ADRES(MATCH(MIN(B2:B7),B:B,0), KOLOM(B2))
Hoe deze formules werken
Om het rijnummer te vinden, gebruikt u de functie MATCH(lookup_value, lookup_array, [match_type]) die een relatieve positie van lookup_value in lookup_array retourneert. In onze formule is de lookup-waarde het getal dat door de MAX- of MIN-functie wordt geretourneerd, en de lookup-array is de hele kolom. Bijgevolg komt een relatieve positie van de lookup-waarde in de array precies overeen met het rijnummer op het blad.
Om het kolomnummer te vinden, gebruikt u de functie COLUMN. Natuurlijk belet niets u om het nummer rechtstreeks in de formule te typen, maar COLUMN bespaart u de moeite van het handmatig tellen indien de doelkolom zich in het midden van het blad bevindt.
Haal een kolomletter uit een kolomnummer
Om van een gegeven getal een kolomletter te maken, gebruikt u de functie ADDRESS in SUBSTITUTE:
SUBSTITUTE(ADRES(1, kolom_nummer ,4),"1","")Laten we als voorbeeld de kolomletter zoeken die overeenkomt met het getal in A2:
=SUBSTITUTE(ADDRESS(1,A2,4),"1","")
Als we naar de onderstaande resultaten kijken, kunnen we zeggen dat de eerste kolom op het blad A is, wat voor de hand ligt; de 10e kolom is J, de 50e kolom is AX, en de 100e kolom is CV:
Hoe deze formule werkt
Stel om te beginnen de ADDRESS-functie zo in dat deze een relatieve verwijzing naar de eerste cel in de doelkolom oplevert:
- Gebruik voor het rijnummer 1.
- Geef voor het kolomnummer de verwijzing naar de cel met het nummer, A2 in ons voorbeeld.
- Voor het argument abs_num vult u 4 in.
Als resultaat zou ADDRESS(1,A2,4) A1 opleveren.
Om van de rijcoördinaat af te komen, wikkelt u de bovenstaande formule in de functie SUBSTITUTE en vervangt u "1" door een lege tekenreeks (""). Klaar!
Krijg het adres van een genoemd bereik
Om het adres van een genoemd bereik in Excel te vinden, moet u eerst de eerste en laatste celverwijzingen verkrijgen, en deze vervolgens samenvoegen. Dit werkt een beetje anders in pre-dynamisch Excel (2019 en ouder) en Dynamisch bereik Excel (Office 365 en Excel 2021). De onderstaande voorbeelden zijn voor Excel 2019 - Excel 2007. De instructies voor Excel 365 en Excel 2021 vindt u hier.
Hoe krijg ik het adres van de eerste cel in een bereik?
Om een verwijzing naar de eerste cel in een genoemd bereik terug te geven, gebruikt u deze algemene formule:
ADDRESS(ROW( reeks ),COLUMN( reeks ))Ervan uitgaande dat het bereik "Verkoop" heet, gaat de echte formule als volgt:
=ADDRESS(ROW(Sales), COLUMN(Sales))
En geeft het adres van de cel linksboven in het bereik:
In deze formule geven de functies ROW en COLUMN een matrix van respectievelijk alle rij- en kolomnummers in het bereik. Op basis van die nummers maakt de functie ADDRESS een matrix van celadressen. Maar omdat de formule in één cel wordt ingevoerd, wordt alleen het eerste item van de matrix weergegeven, dat overeenkomt met de eerste cel in het bereik.
Hoe krijg ik het adres van de laatste cel in een bereik?
Om het adres van de laatste cel in een genoemd bereik te vinden, gebruikt u deze algemene formule:
ADDRESS(ROW( reeks )+ROWS( reeks )-1,COLUMN( reeks )+COLUMNS( reeks )-1)Toegepast op ons bereik met de naam "Verkoop" krijgt de formule de volgende vorm:
=ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
En geeft de verwijzing terug naar de cel rechtsonder van het bereik:
Net als in het vorige voorbeeld geeft de functie ROW ons een matrix van alle rijnummers in het bereik, {4;5;6;7} in ons geval. We moeten deze nummers "verschuiven" met het totale aantal rijen min 1, zodat het eerste item in de matrix het laatste rijnummer wordt. Om het totale aantal rijen te vinden, gebruiken we de functie ROWS enTrek 1 af van het resultaat: (4-1=3). Vervolgens voegen we 3 toe aan elk element van de oorspronkelijke matrix om de vereiste verschuiving te doen: {4;5;6;7} + 3 = {7;8;9;10}.
Het kolomnummer wordt op soortgelijke wijze berekend: {2,3,4}+3-1 = {4,5,6}
Uit de bovenstaande arrays van rij- en kolomnummers stelt de functie ADDRESS een array van celadressen samen, maar geeft alleen de eerste terug die overeenkomt met de laatste cel in het bereik.
Hetzelfde resultaat kan ook worden bereikt door de maximale waarden te kiezen uit de arrays van de rij- en kolomnummers. Dit werkt echter alleen in een matrixformule, waarvoor Ctrl + Shift + Enter moet worden ingedrukt om correct te worden ingevuld:
=ADDRESS(MAX(ROW(Sales)), MAX(COLUMN(Sales)))
Hoe krijg ik het volledige adres van een genoemd bereik
Om het volledige adres van een genoemd bereik te verkrijgen, hoeft u slechts de twee formules uit de vorige voorbeelden aan elkaar te rijgen en de bereikoperator (:) ertussen te plaatsen.
ADDRESS(ROW( reeks ), COLUMN( reeks )) & ":" & ADDRESS(ROW( reeks ) + ROWS( reeks )-1, COLUMN( reeks ) + COLUMNS( reeks )-1)Om het te laten werken voor onze voorbeeldgegevens, vervangen we het algemene "bereik" door de echte naam "Verkoop":
=ADDRESS(ROW(Sales), COLUMN(Sales)) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
En krijg het volledige bereikadres als een absoluut referentie $B$4:$D$7:
Om het bereikadres als een relatief verwijzing (zonder $-teken, zoals B4:D7), het argument abs_num in beide ADDRESS-functies op 4 zetten:
=ADDRESS(ROW(Sales), COLUMN(Sales), 4) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1, 4)
Uiteraard kunnen dezelfde wijzigingen worden aangebracht in afzonderlijke formules voor de eerste en de laatste cel, en het resultaat zal er ongeveer zo uitzien:
Hoe krijg ik het adres van een genoemd bereik in Excel 365 en Excel 2021?
In tegenstelling tot het traditionele "één formule - één cel"-gedrag in oudere versies, doet in het nieuwe Excel elke formule die potentieel meerdere waarden kan opleveren, dit automatisch. Dit gedrag wordt "spilling" genoemd.
Bijvoorbeeld, in plaats van het adres van de eerste cel terug te geven, geeft de onderstaande formule de adressen van elke cel in een genoemd bereik:
=ADDRESS(ROW(Sales), COLUMN(Sales))
Om het adres van de eerste cel alleen moet u impliciete doorsnijding inschakelen, die standaard wordt geactiveerd in Excel 2019 en ouder. Zet hiervoor het @-symbool (impliciete doorsnijdingsoperator) vóór de bereiknamen:
=ADDRESS(@ROW(Sales), @COLUMN(Sales))
Op soortgelijke wijze kunt u andere formules vastleggen.
Om laatste cel in de reeks:
=ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Om de adres van een genoemd bereik :
=ADDRESS(@ROW(Sales), @COLUMN(Sales)) & ":" & ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Het onderstaande screenshot toont de resultaten:
Tip. Wanneer u een werkblad opent met formules die zijn gemaakt in een oudere versie in dynamische matrix Excel, voegt Excel automatisch een impliciete snijoperator toe.
Dat is hoe je een celadres retourneert in Excel. Om alle formules die in deze tutorial zijn besproken nader te bekijken, kun je hieronder onze voorbeeldwerkmap downloaden. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!
Praktijk werkboek om te downloaden
Excel ADDRESS functie - formulevoorbeelden (.xlsx bestand)