сряда, 18 август 2010 г.

#015 Относителни, смесени, абсолютни и още по-абсолютни адреси:)

Тази тема е по-скоро за начинаещи, но ми се иска все пак да обърна внимание. Моят опит със студенти често показва, че се пропускат детайлите, а както знаем дяволът е именно в детайлите.  Става дума за адресите които използваме във формулите. Всеки минал първо ниво на Excel знае, че има два основни вида. Относителни (A1) адреси, които се променят при преместване на формулата и абсолютни ($A$1)  които не се променят. Основните усилие, които се хвърлят от преподавателите е да втълпят на студентите за наличието на тези два вида и разликите между  тях.
Оказва се обаче, че рядко се илюстрира прилагането на междинния тип адреси или така наречените смесени ($A1, A$1) адреси, при които само единия компонент (реда или колоната) е абсолютен (константа) а другия е относителен. Когато проверявам входното ниво на обучаеми по Excel им проверявам знанията с помощта на тази таблица:
Таблица за умножение
Пример: При въведени данни в колонка  A и първия ред (оранжевите области) да се въведе само ЕДНА формула (в клетка B2) която при размножаване да създава таблицата за умножение (жълтите клетки).
Вариант 1 : Формулата в клетка B2: =$A2*B$1. Използват се смесени адреси.  (NB! припомням само за полезния клавиш F4, който променя типът на адресът).  Размножавате надолу и после надясно и готово. За мое съжаление успеваемостта за този пример е нулева. (Не че и аз не водя курсове за начинаещи и това е камък и в моята градинка):) Тази формула е полезно да се знае за да се вникне в детайлите.
Вариант 2: Чрез имена. Изберете клетките от A2 до A11 и в областта за имена  (горе в ляво) им задайте име "redove". (NB! след въвеждане на името натиснете Enter!)

Именуване на област
 По аналогичен начин задайте име на зоната B1:K1 "koloni". След което формулата в клетка B2 е: =redove*koloni . Чисто и просто (това в случая не значи "къпана блондинка":) Умен Excel:) Красиво е... Но както казах е добре все пак да се знаят типовете адреси. Ще имам отделна тема в която ще покажа различните начини на именуване и използване на имената.

Още малко за абсолютните адреси. Да предположим, че искаме да намерим квадратът на съдържанието на клетката A1. Вариантът на формулата е =$A$1^2 (^ е степенуване). Тази формула може да се мести без да се променя адресът на клетката. НО. Абсолютните адреси имат един "дефект" (зависи от гледната точка и конкретния пример). Въпреки че са абсолютни при вмъкване и изтриване на редове или колони (чрез командите Insert или  Delete) те се променят. Може да си направите експеримент да вмъкнете колонка на мястото на колонка A. В този случай формулата ще се видоизмени на =$B$1^2.  Ако изтриете първи ред ще се получи "гадното" съобщение #Ref във формулата, защото редът липсва.
Оказва се, че абсолютния адрес не е на 100% абсолютен!  Запомнете това! Ако искаме наистина абсолютен адрес се използва функцията Indirect("адрес или зона"). Примерът се видоизменя като =Indirect("A1")^2. Тази формула ВИНАГИ ще връща квадратът на съдържанието на клетка A1!


1 коментар:

  1. Петко Петков21 януари 2011 г. в 9:15

    Хах! Преподавателят ми по Финансов анализ казваше, че въпреки самочувствието ни, огромната част от нас не знаят и 3% от възможностите на Ексел. След тази статия процентът е още малко по-висок:)) Много благодаря за полезната информация!

    ОтговорИзтриване