Tartalomjegyzék
Az oktatóanyag röviden bemutatja az ADDRESS függvény szintaxisát, és megmutatja, hogyan használhatja az Excel-cella címének visszaadására és más célokra.
Cellahivatkozás létrehozásához az Excelben kézzel is beírhatja az oszlop- és sorkoordinátákat. Alternatív megoldásként az ADDRESS függvénynek megadott sor- és oszlopszámokból is kaphat egy Excel-cellacímet. Önmagában szinte értelmetlen, más függvényekkel kombinálva azonban ez a technika lehet az egyetlen megoldás olyan helyzetekben, amikor nem lehetséges közvetlenül hivatkozni egy cellára.
Excel ADDRESS funkció - szintaxis és alapvető felhasználások
Az ADDRESS függvény célja, hogy a megadott sor- és oszlopszámok alapján cellacímet kapjon az Excelben. A cellacím szöveges karakterláncként kerül vissza, nem pedig tényleges hivatkozásként.
A funkció a Microsoft 365 - Excel 2007 Excel összes verziójában elérhető.
Az ADDRESS függvény szintaxisa a következő:
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])Az első két argumentumra van szükség:
row_num - a cellahivatkozásban használandó sorszám.
column_num - az oszlopszámot a cellahivatkozás létrehozásához.
Az utolsó három argumentum, amely a cellahivatkozás formátumát határozza meg, opcionális:
abs_num - a hivatkozás típusa, abszolút vagy relatív. Az alábbi számok bármelyikét megadhatja; az alapértelmezett az abszolút.
- 1 vagy elhagyva - abszolút cellahivatkozás, mint például $A$1
- 2 - vegyes hivatkozás: relatív oszlop és abszolút sor, mint A$1
- 3 - vegyes hivatkozás: abszolút oszlop és relatív sor, mint $A1
- 4 - relatív cellahivatkozás, például A1
a1 - a referencia stílus, A1 vagy R1C1. Ha elhagyja, az alapértelmezett A1 stílus kerül használatra.
- 1 vagy TRUE vagy elhagyva - a cella címét adja vissza az A1 hivatkozási stílusban, ahol az oszlopok betűk, a sorok pedig számok.
- 0 vagy FALSE - a cella címét adja vissza az R1C1 hivatkozási stílusban, ahol a sorokat és oszlopokat számok jelölik.
sheet_text - a külső hivatkozásba bevonni kívánt munkalap neve. A munkalap nevét szöveges karakterláncként, idézőjelek közé zárva kell megadni, pl. "Sheet2". Ha elhagyja, a program nem használ munkalapnevet, és a cím alapértelmezés szerint az aktuális lapot jelöli.
Például:
=ADRESS(1,1)
- az első cella címét adja vissza (azaz az első sor és az első oszlop metszéspontjában lévő cellát) abszolút cellahivatkozásként $A$1.
=ADDRESS(1,1,4)
- az első cella címét adja vissza relatív A1 cellahivatkozásként.
A következő táblázatban néhány további hivatkozástípust talál, amelyeket az ADDRESS képletek adhatnak vissza.
Formula | Eredmény | Leírás |
=ADRESS(1,2) | $B$1 | Abszolút cellahivatkozás |
=CÍM(1,2,4) | B1 | Relatív cellahivatkozás |
=ADDRESS(1,2,2) | B$1 | Relatív oszlop és abszolút sor |
=CÍM(1,2,3) | $B1 | Abszolút oszlop és relatív sor |
=ADDRESS(1,2,1,1,FALSE) | R1C2 | Abszolút referencia az R1C1 stílusban |
=ADDRESS(1,2,4,FALSE) | R[1]C[2] | Relatív hivatkozás R1C1 stílusban |
=ADDRESS(1,2,1,, "Sheet2") | Sheet2!$B$1 | Abszolút hivatkozás egy másik lapra |
=ADDRESS(1,2,4,, "Sheet2") | Sheet2!B1 | Relatív hivatkozás egy másik lapra |
Hogyan használjuk az ADDRESS funkciót az Excelben - képletpéldák
Az alábbi példák azt mutatják, hogyan használhatja az ADRESS funkciót nagyobb képleteken belül a bonyolultabb feladatok elvégzésére.
Egy adott sorban és oszlopban lévő cella értékének visszaadása
Ha az a célja, hogy egy adott cellából a sor- és oszlopszámok alapján kapjon értéket, használja az ADRESS funkciót az INDIRECT funkcióval együtt:
INDIRECT(ADRESS(row_num, column_num))Az ADDRESS függvény a cellacímet szövegként adja ki. Az INDIRECT függvény ezt a szöveget normál hivatkozássá alakítja, és visszaadja a megfelelő cella értékét.
Ha például az E1-ben lévő sorszám és az E2-ben lévő oszlopszám alapján szeretne egy cellaértéket kapni, használja ezt a képletet:
=INDIREKT(CÍM(E1,E2))
A legmagasabb vagy legalacsonyabb értékkel rendelkező cella címének lekérdezése
Ebben a példában először a MAX és MIN függvények segítségével megkeressük a B2:B7 tartomány legmagasabb és legalacsonyabb értékét, és ezeket az értékeket speciális cellákba írjuk ki:
Cell E2: =MAX(B2:B7)
F2-es cella: =MIN(B2:B7)
Ezután az ADDRESS funkcióval és a MATCH függvénnyel kombinálva megkapjuk a cellák címét.
Cell a maximális értékkel:
=ADDRESS(MATCH(E2,B:B,0), COLUMN(B2))
Cella a min értékkel:
=ADDRESS(MATCH(F2,B:B,0), COLUMN(B2))
Ha nem szeretné, hogy a legmagasabb és a legalacsonyabb érték külön cellában legyen, akkor a MAX/MIN függvényt a MATCH első argumentumába is beágyazhatja. Például:
A legmagasabb értékkel rendelkező cella:
=ADDRESS(MATCH(MAX(B2:B7),B:B,0), COLUMN(B2))
A legalacsonyabb értékkel rendelkező cella:
=ADDRESS(MATCH(MIN(B2:B7),B:B,0), COLUMN(B2))
Hogyan működnek ezek a képletek
A sorszám megkereséséhez a MATCH(lookup_value, lookup_array, [match_type]) függvényt használja, amely a lookup_value relatív pozícióját adja vissza a lookup_array-ben. A mi képletünkben a lookup érték a MAX vagy MIN függvény által visszaadott szám, a lookup tömb pedig a teljes oszlop. Következésképpen a lookup érték relatív pozíciója a tömbben pontosan megfelel a lapon lévő sorszámnak.
Az oszlopszám megkereséséhez a COLUM funkciót használja. Természetesen semmi sem akadályozza meg abban, hogy a számot közvetlenül a képletbe írja be, de a COLUMN megspórolja a kézi számolás fáradságát abban az esetben, ha a céloszlop a lap közepén van.
Egy oszlop betűjének kinyerése egy oszlopszámból
Bármely adott számot oszlopbetűvé alakíthat a SUBSTITUTE függvényen belül az ADDRESS függvénnyel:
HELYETTESÍTŐ(CÍM(1, column_number ,4), "1","")Példaként keressük meg az A2-ben szereplő számnak megfelelő oszlop betűjelét:
=SUBSTITUTE(ADDRESS(1,A2,4), "1","")
Ha megnézzük az alábbi eredményeket, megállapíthatjuk, hogy a lap első oszlopa az A, ami nyilvánvaló; a 10. oszlop a J, az 50. oszlop az AX, a 100. oszlop pedig a CV:
Hogyan működik ez a képlet
Kezdetnek állítsa be az ADDRESS függvényt úgy, hogy a céloszlop első cellájára való relatív hivatkozást adja vissza:
- A sorszámhoz használja az 1-es számot.
- Az oszlopszámhoz adja meg a számot tartalmazó cellára való hivatkozást, példánkban A2-t.
- Az abs_num argumentumba írja be a 4-es értéket.
Ennek eredményeként az ADDRESS(1,A2,4) A1-et adna vissza.
A sorkoordinátától való megszabaduláshoz csomagolja a fenti képletet a SUBSTITUTE függvénybe, és az "1" értéket helyettesítse üres karakterlánccal ("""). Kész!
Egy megnevezett tartomány címének lekérdezése
Ha meg szeretné találni egy nevesített tartomány címét az Excelben, először meg kell szereznie az első és az utolsó cellahivatkozást, majd össze kell kötnie őket. Ez egy kicsit másképp működik a dinamikus tartomány előtti Excelben (2019 és régebbi) és a dinamikus tartományú Excelben (Office 365 és Excel 2021). Az alábbi példák az Excel 2019 - Excel 2007-re vonatkoznak. Az Excel 365 és Excel 2021 utasításai itt találhatók.
Hogyan kapjuk meg egy tartomány első cellájának címét?
Ha egy megnevezett tartomány első cellájára való hivatkozást szeretne visszaadni, használja ezt az általános képletet:
ADRESS(ROW( tartomány ),COLUMN( tartomány ))Feltételezve, hogy a tartomány neve "Értékesítés", a valós képlet a következőképpen néz ki:
=ADRESS(ROW(Sales), COLUMN(Sales))
És visszaadja a tartomány bal felső cellájának címét:
Ebben a képletben a ROW és COLUMN függvények a tartomány összes sor- és oszlopszámát tartalmazó tömböt adják vissza. Ezen számok alapján az ADDRESS függvény létrehozza a cellák címének tömbjét. Mivel azonban a képletet egyetlen cellába írja be, a tömbnek csak az első eleme jelenik meg, amely a tartomány első cellájának felel meg.
Hogyan kapjuk meg egy tartomány utolsó cellájának címét?
Ha egy megnevezett tartomány utolsó cellájának címét szeretné megkeresni, használja ezt az általános képletet:
ADRESS(ROW( tartomány )+ROWS( tartomány )-1,COLUMN( tartomány )+COLUMNS( tartomány )-1)Az "Értékesítés" nevű tartományra alkalmazva a képlet a következő formát ölti:
=ADRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
És visszaadja a tartomány jobb alsó cellájára való hivatkozást:
Ezúttal egy kicsit összetettebb számításokra van szükségünk a sorszám kiszámításához. Az előző példához hasonlóan a ROW függvény egy tömböt ad nekünk a tartomány összes sorszámából, esetünkben {4;5;6;7}. Ezeket a számokat "eltolnunk" kell a teljes sorszámmal mínusz 1, hogy a tömb első eleme legyen az utolsó sorszám. A teljes sorszám megtalálásához a ROWS függvényt használjuk és akivonjuk az eredményéből az 1-et: (4-1=3). Ezután hozzáadunk 3-at a kezdeti tömb minden eleméhez, hogy elvégezzük a szükséges eltolást: {4;5;6;7} + 3 = {7;8;9;10}.
Az oszlopszám kiszámítása hasonló módon történik: {2,3,4}+3-1 = {4,5,6}
A fenti sor- és oszlopszámok tömbjeiből az ADDRESS függvény összeállítja a cellák címeinek tömbjét, de csak az elsőt adja vissza, amely a tartomány utolsó cellájának felel meg.
Ugyanezt az eredményt elérhetjük úgy is, hogy a sor- és oszlopszámok tömbjeiből kiválasztjuk a maximális értékeket. Ez azonban csak tömbképletben működik, amelynek helyes kitöltéséhez a Ctrl + Shift + Enter billentyűkombináció lenyomása szükséges:
=ADRESS(MAX(ROW(Sales)), MAX(COLUMN(Sales)))
Hogyan szerezhetjük meg egy megnevezett tartomány teljes címét
Egy megnevezett tartomány teljes címének visszaadásához csak össze kell kapcsolnia az előző példák két képletét, és a tartomány operátort (:) kell beszúrnia a kettő közé.
ADRESS(ROW( tartomány ), COLUMN( tartomány )) & ":" & ADDRESS(ROW( tartomány ) + ROWS( tartomány )-1, COLUMN( tartomány ) + COLUMNS( tartomány )-1)Ahhoz, hogy a mintaadatkészletünk esetében működjön, az általános "range" szót a "Sales" valódi tartománynévvel helyettesítjük:
=ADRESS(ROW(Sales), COLUMN(Sales)) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
És megkapja a teljes tartomány címét, mint egy abszolút hivatkozás $B$4:$D$7:
A tartomány címének visszaadása relatív hivatkozás ($ jel nélkül, például B4:D7), állítsa az abs_num argumentumot mindkét ADDRESS függvényben 4-re:
=ADRESS(ROW(Sales), COLUMN(Sales), 4) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1, 4)
Természetesen ugyanezeket a változtatásokat elvégezhetjük az első és az utolsó cellára vonatkozó egyéni képletekben is, és az eredmény ehhez hasonlóan fog kinézni:
Hogyan szerezheti meg egy névleges tartomány címét az Excel 365 és az Excel 2021 programban?
A régebbi verziók hagyományos "egy képlet - egy cella" viselkedésével ellentétben az új Excelben minden olyan képlet, amely potenciálisan több értéket adhat vissza, ezt automatikusan megteszi. Az ilyen viselkedést kiöntésnek nevezzük.
Például az alábbi képlet az első cella címe helyett a megnevezett tartomány minden egyes cellájának címét adja ki:
=ADRESS(ROW(Sales), COLUMN(Sales))
Hogy megkapja a címét a első cella csak akkor kell engedélyeznie az implicit metszést, amely az Excel 2019 és régebbi programokban alapértelmezés szerint aktiválódik. Ehhez a tartománynevek elé tegye a @ szimbólumot (implicit metszési operátor):
=ADDRESS(@ROW(Sales), @COLUMN(Sales))
Hasonló módon más képleteket is rögzíthet.
Ahhoz, hogy utolsó cella a tartományban:
=ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Hogy megkapja a egy megnevezett tartomány címe :
=ADRESS(@ROW(Sales), @COLUMN(Sales)) & ":" & ADRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Az alábbi képernyőkép mutatja az eredményeket:
Tipp. Ha egy régebbi verzióban létrehozott képleteket tartalmazó munkalapot nyit meg az Excel dinamikus tömbben, az Excel automatikusan beilleszt egy implicit metszéspont-operátort.
Így ad vissza egy cellacímet az Excelben. Ha közelebbről meg szeretné nézni az ebben a bemutatóban tárgyalt képleteket, akkor szívesen letölti az alábbi minta munkafüzetünket. Köszönöm, hogy elolvasta, és remélem, hogy jövő héten találkozunk a blogunkon!
Gyakorlati munkafüzet letölthető
Excel ADDRESS funkció - képlet példák (.xlsx fájl)