HTML

Excel kezdőknek és haladóknak

Excel trükkök kezdőknek és haladóknak

Friss topikok

Címkék

Archívum

Cellahivatkozások (relatív, abszolút)

2012.12.14. 12:15 Hargitai Zoltán

Az Excel egy nagyon fontos részéhez értünk. Aki nem találkozott még vele, vagy nem gyakorlott a használatában, annak a megfelelő hivatkozások elsajátítása jelentős előrelépést fog eredményezni az Excel használatában. 

Adva van egy zöldséges üzlet, ahol a készlet értékét szeretnénk kiszámolni:

A B C D
1 Termék Mennyiség
(kg)
Egységár
(Ft/kg)
Érték
(Ft)
2 alma 200 150  
3 körte 180 180  
4 dinnye 120 250  
5 banán 240 400  

Valószínűleg mindenkinek egyértelmű, hogy az érték oszlopban összeszorozzuk a mennyiséget az egységárral. Így a D2-es cellába (alma sor-Érték oszlop) a következő képlet kerül: =B2*C2. Mivel az összes alatta lévő értéket is ugyanígy számoljuk ki, így egyszerűen átmásoljuk a D2-es cellát a D3, D4, D5 és D6-os cellákba. Ennek megfelelően pl. a D4-es cellába az alábbi képlet került: =B4*C4. Észrevehetjük, hogy az eredeti, másolt D2-es cellához képest 2 sort mentünk lefelé, és így a D4-es cellába jutottunk. Az eredeti képletünkben szereplő képletek is úgy változtak, hogy az oszlop hivatkozások (betűk) változatlanok maradtak, a sor hivatkozások (számok) pedig 2-vel nőttek. 

Az ilyen fajta cellahivatkozásokat nevezzük relatív hivatkozásnak. Ez azt jelenti, hogy ha képletet másolunk valamely cellából, akkor a beillesztett cellába kerülő képelt sor és oszlop hivatkozása annyival fog változni, amennyivel az eredeti cellához képest elmozdultunk mind vízszintesen mint függőlegesen. Hogy ezt jobban megértsük, jöjjön a következő példa:

Az előző táblázatot kiegészítjük 2 új oszloppal: egy új egységárral és egy új értékkel. A mennyiség változatlan maradt, viszont szeretnénk kiszámolni mindkét egységárral a készlet értékét. 

A B C D E F
1 Termék Mennyiség
(kg)
Egységár
(Ft/kg)
Új egységár
(Ft/kg)
Érték
(Ft)
Új érték
(Ft)
2 alma 200 150 170 =B2*C2 =C2*D2
3 körte 180 180 210 =B3*C3 =C3*D3
4 dinnye 120 250 260 =B4*C4 =C4*D4
5 banán 240 400 420 =B5*C5 =C5*D5

Hibás megoldás relatív hivatkozással

Az E2-es cellában az előzőnek megfelelően beírtuk az =B2*C2 képletet. Ha most ezt a képletet átmásoljuk mind a két oszlopba, a fenti táblázatban látható képleteket kapjuk. A fent leírt viselkedés alapján nem lepődünk meg azon, hogy az Új érték oszlopba rossz képlet került. Hiszen mi történt? Az eredeti cellában lévő képletet átmásoltuk egy a cellától jobbra lévő oszlopba. Így ahogyan azt vártuk, a képlet is úgy változott meg, hogy az oszlop hivatkozás is eggyel odébb tolódott - B-ből C lett, C-ből D lett. A relatív hivatkozások így működnek, a másolt képletben szereplő oszlop és sor hivatkozások annak megfelelően változnak a beillesztés után, amennyi sorral és oszloppal eltér a másolt és beillesztett sor egymástól.

A B C F E F
1 Termék Mennyiség
(kg)
Egységár
(Ft/kg)
Új egységár
(Ft/kg)
Érték
(Ft)
Új érték
(Ft)
2 alma 200 150 170 =B2*C2 =B2*D2
3 körte 180 180 210 =B3*C3 =B3*D3
4 dinnye 120 250 260 =B4*C4 =B4*D4
5 banán 240 400 420 =B5*C5 =B5*D5

Helyes megoldás relatív hivatkozással (nem másolással készült a képlet!!!)

Mi a megoldás, hogy másolás után is helyes képletet kapjuk? Használjunk abszolút hivatkozásokat. Ez azt jelenti, hogy a másolandó képletben azokat az oszlop és/vagy sor azonosítókat rögzítsük, amelyeket nem szeretnénk, ha a másolás során "elvándoroljanak". A fenti példában a mennyiséget szeretnénk változatlanul hagyni, amely értékek a B oszlopban vannak, így az eredeti képletben a mennyiségre vonatkozó hivatkozás (B2) oszlopát rögzítenünk kell. Ezt a rögzítést az oszlop vagy sor azonosító, vagy mindkettő elé írt $ jellel érhetjük el. Ha a képletben ráállunk az adott hivatkozásra (pl. B2) és megnyomjuk az F4 billentyűt, láthatjuk, hogy az Excel a hivatkozást az alábbiakra cseréli: $B$2, B$2,$B2,B2. Az F4 billenytyű használata csak egy könnyebbség, a $ jelet kézzel is kiírhatjuk az oszlop vagy sor azonosító, vagy mindkettő elé.

Hogyan jöjjünk rá, hogy milyen módon adjuk meg a hivatkozásunkat? Amíg nem vagyunk gyakorlottak a dologban, az alábbi módszert javaslom: számoljuk ki a képletet  először az E2 majd az F5 cellára. Amennyiben a feladat lehetővé teszi, a két kiszámolt cella lehetőség szerint ne legyen se egy sorban se egy oszlopban. Így az első cellára az =B2*C2, a másodikra a B5*D5 képletet kapjuk. Most megnézzük, hogy melyik sor és/vagy oszlop hivatkozás nem változott a két képletben: csak a B maradt változatlan, így ezt kell rögzítenünk. Ennek megfelelően az eredeti =B2*C2 képletet átírjuk =$B2*C2 formátumúvá, akkor másolás után az F5-ös cellába is a most már helyes =$B5*D5 képletet kapjuk. 

Leírva bonyolultnak tűnhet a dolog, a gyakorlatban viszont egy kis gyakorlás után már egyszerű: megnézzük, hogy átmásoláskor van-e olyan része a képletnek, amely esetében nem szeretnénk ha megváltozna az oszlop, a sor, vagy az egész cella, és a másolandó képletet ennek megfelelően módosítjuk.

Fontos: az abszolút hivatkozások használata ($ jel) semennyiben sem befolyásolja egy adott cellába írt képlet viselkedését, az kizárólag másoláskor mondja meg az Excelnek, hogy az adott sort, oszlopot esetleg mindkettőt a másolás során hagyja változatlanul, ne módosítsa a sor, oszlop vagy mindkettő változásának megfelelően.

Feladat

A feladat mindig ugyanaz lesz: megadom a másolandó cellában található képletet, és megadom, hogy melyik cellába kell átmásolni. Nektek azt a képletet kell megadnotok, amelyet az Excel a másolás után a célcellába beír. Próbáljátok meg lehetőleg Excel használat nélkül megválaszolni a kérdéseket, mert bár így lényegesen nehezebb, viszont sokkal jobban megértitek.

Segítség: a feladathoz úgy kezdjetek hozzá, hogy nézzétek meg, hogy hány sorral és oszloppal tér el a kezdő és cél cella egymástól, és a képletben szereplő esetleges abszolút hivatkozások segítségével határozzátok meg a célcellába kerülő képletet. A megoldás Excellel le tudjátok ellenőrizni. Csak írjátok be az adott képletet a kezdő cellába, majd másoljátok át a cél cellába, és nézzétek meg az eredményt. A képleteket külön munkalapra (fülecskék alul) másoljátok, különben körkörös hivatkozásokat kaptok!!!

Példa:

Kezdő cella Kezdő cella képlet Cél cella Vízsz. Elmozd. Függ. Elmozd. Cél cella képlet
C3 =A3*B3 E5 +2 (D,E) +2 (4,5) =C5*D5
D2 =$A2*B2 E5 +1 (E) +3 (3,4,5) =$A5*C5
D4 =$A$1*$A4*B4 E5 +1 (E) +1 (5) =$A$1*$A5*C5

 

1. sor: Láthatjuk, hogy a kezdő cellához képest (C3) 2 oszloppal és 2 sorral mozdultunk el, hogy eljussunk a cél cellába (E5). Mivel a célcellában lévő képletben semmi sem volt rögzítve (nincs $ jel), ezért minden sor és oszlop azonosítót ennek megfelelően fog az Excel változtatni. Így lesz az A-ból C, a B-ből D, a 3-ból 5.

2. sor: +1-gyel és +3-mal mozdultunk el. A kezdő képletben az A rögzítve van, így ez marad, a többi az előbbinek megfelelően változik: B-ből C lesz, 2-ből 4 lesz.

3. sor: +1-gyel és +1-gyel mozdultunk el. A1 és a szorzás második tagjából az A rögzítve van, így azok változatlanok maradnak, a többi az előbbinek megfelelően változik: B-ből C lesz, 4-ből 5 lesz.

Megoldandó (megoldás lejjebb):

Kezdő cella Kezdő cella képlet Cél cella Vízsz. Elmozd. Függ. Elmozd. Cél cella képlet
C2 =A2*B2 C8
C3 =A3*C$2 D5
B5 =$A$2*$A5*B$4 F8

Ha a fenti táblázat kitöltése sikerült, akkor a mellékletben található feladatokat már könnyen meg tudjátok oldani. 

http://www.streamfile.com/myid/9IvBYtU6o4Ft 

A 3. file-ban a bemutatkozó bejegyzésben már megismert példa található. Ennek megoldásához a fentieken túlmenően még egy pici ötlet is kell. Valószínűleg ott más képlettel számítanátok az első és utolsó sorhoz tartozó értéket. Itt azt nézzétek meg, hogy az utolsó sorba írt képlettel (szum függvény) nem számolható-e az első sor is. Ha igen, akkor a fentebb ajánlott módszerrel tegyétek egymás mellé a két képletet, és már látszik is, hogy mit lehet rögzíteni. Sok sikert a gyakorláshoz. Kérést e-mailben vagy kommentben is feltehettek. A kommentet a többiek is látják, és talán ők is tanulhatnak belőle.

Megoldás:

Kezdő cella Kezdő cella képlet Cél cella Vízsz. Elmozd. Függ. Elmozd. Cél cella képlet
C2 =A2*B2 C8 0 +6 (3,4,5,6,7,8) =A8*B8
C3 =A3*C$2 D5 +1 (D) +2 (4,5) =B5*D$2
B5 =$A$2*$A5*B$4 F8 +4 (C,D,E,F) +3 (6,7,8) =$A$2*$A8*F$4

Összefoglalva: 

A sorok/oszlopok rögzítése az eredeti képlet eredményét nem befolyásolja, csak másoláskor változik tőle a célcellába kerülő képlet.

Rögzített sor, oszlop vagy mindkettő  (pl. A$2 -> C$2, $A2 -> $A4, $A$2 -> $A$2) a másolás során nem módosul.

A kezdő és cél cella közötti vízszintes távolság a nem rögzített oszlop hivatkozást (betűk), a függőleges távolság a nem rögzített sor hivatkozást (szám) változtatja az elmozdulással megegyező mértékkel.

Szólj hozzá!

A bejegyzés trackback címe:

https://exceltutor.blog.hu/api/trackback/id/tr204964920

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása