Показват се публикациите с етикет таблици. Показване на всички публикации
Показват се публикациите с етикет таблици. Показване на всички публикации

петък, 3 септември 2010 г.

#031 Таблици (имена и формули)

Както споменах при използването на таблици се появява още една "екстра", която е свързана с автоматично дефинирани имена за създадената таблица. Ще използвам създадената в #030 таблица. 
Примерна таблица

Както вече се видя в #030, че се използваха имена от вида [Цена] и [Стойност]. Тези имена се създават автоматично от заглавията на таблицата. Различното на тези имена е че те са видими САМО вътре в самата таблица. За тяхното разграничаване се използва [] за ограждане.

Малко анализ на формулата в колонка Стойност. Тя беше =[Цена]*[Количество] . Тук трябва да се има предвид, че става дума за цяла зона клетки, но при тяхното умножение се връща резултатът за съответния ред (цената от съответния ред умножена по количеството от съответния ред). Звучи объркващо, но Excel си знае работата:) За да ви объркам още повече да ви кажа че същата формула може да се запише и като =[@Цена]*[@Количество] :) Знакът @ означава текущия ред. Т.е. изрично показваме, че искаме да умножим данните от текущия ред. Както посочих Excel в зависимост от контекста избира и правилната формула. 
Все пак да видим разликите. Ако в даден ред в таблицата (NB! имената са видими само в таблицата!) напишем формулата =max([Цена]) в този случай excel ще върне максималната от ВСИЧКИ цени! Ако напишем =max([@Цена]) ще се върне максималната цена от ТЕКУЩИЯ ред (примера е безсмислен, но искам да усетите разликата между двете формули! Виждал съм доста примери в които се слага @ да се подчертае фактът, че става дума за текущия ред. Както се казва "не пречи". И като се замисли човек е по-ясно да се запомни, че [Стойност] е зона а [@Стойност] е единична клетка, а не да разчита на Excel да се сеща:)

Това е за "вътрешността" на таблицата. Да видим как изглежда таблицата от "външния" свят. В областта с имена се е появило само името на самата таблица (в нашия случай Фактура). То ни дава възможност да извличаме данни от вътрешността на таблицата индексирайки редовете или колонките. Освен имената на колонките (които обхващат само данните за съответната колонка!) може да използваме няколко служебни имена:
#all - цялата таблица
#data - Само областта за данни (без заглавие и обобщаващия ред)
#headers - само заглавията
#totals - само обобщаващия ред

Ето примери и обяснения. Посочените формули се въвеждат ИЗВЪН таблицата!

  • =MAX(Фактура[Цена])  - връща най-голямата цена
  • =SUM(Фактура[Стойност]) - Сумата на колонка Стойност
  • =Фактура[[#Totals],[Стойност]] - Връща стойността на клетката ПОД колонката Стойност. Прилича на предходния пример (ще върне същия резултат), но има различен смисъл и зависи от състоянието на таблицата.  В нашия случай това наистина е сумата на всички елементи, но при филтриране или смяна на функцията ще се върне друг резултат. Обърнете внимание на синтаксисът. Когато имаме няколко елемента те също се заграждат в [] !
  • =Фактура[[#Headers],[Количество]] - Заглавието на колонка Количество (не много мъдър пример):)
  • =INDEX(Фактура[#Headers],2) - Името на втората колона! Както се вижда може да използваме Index и другите функции както ги прилагаме върху имена! (NB! Двойката е параметър на Index!)
  • =INDEX(Фактура[Цена],3) - Връща третата цена. Обърнете внимание на една приятна възможност на Index сравнявайки този и предходния пример. Когато блока е единичен ред или колона числото Excel сам преценява, че става дума за отместване надясно или отместване надолу!
  • =INDEX(Фактура[Цена],MATCH("Име 3",Фактура[Наименование],0))  - цената на стока с наименование "Име 3"
  • От мен да мине един Vlookup пример (скоро пак участвах в едно меле в което оплюхме здраво Vlookup;) =VLOOKUP(10,Фактура[#Data],4,False)   връща количеството (стойността на четвъртата колонка) за стока с номер 10. 
  • =SUM(Фактура[[Цена]:[Стойност]]) - Сумата на всички колонки в зоната Цена-Стойност. (Цена, Количество, Мярка, Стойност)


Всъщност особеното което трябва да запомните е, че  се появява само едно име (на цялата таблица) което може да раздробявате на по-малки зони или клетки. Това улеснява доста боравенето с имена и формулите придобиват много по структурен вид. Дано сте се заинтересували и да започнете да правите все повече таблици:)

Успех:)




#030 Таблици (създаване)

Скоро се замислих каква е ползата да има понятието таблица в Excel. Нали всичко е таблица в един работен лист? В тази тема ще се опитам накратко да покажа ползите и "триковете" при работа с таблици. По същество таблиците представляват обособени и именувани (!) части от работния лист.

1. Създаване
- Въвеждам заглавията на колонките и избирам колко реда ще бъде таблицата
- Изпълняваме Insert/Table и указваме че имаме заглавни редове!
- Даваме име на таблицата Фактура
- Въвеждаме формулата за стойност (=[Цена]*[Количество]).
- Добавяме сумарен ред (избор на Total Row от лентата Design)
- Определяме къде и какъв тип изчисления да се правят в сумарния ред

Ето кратко филмче:




При създаването на таблицата веднага се виждат няколко неща на които ще обърна внимание:
  • Автоматично активиране на филтрите за всяка колонка (стрелките до всяка колонка). Ще направя отделна тема за работа на филтрите.
  • Улеснение при въвеждане на формули (обърнете внимание на създаването на формулата в колонка Стойност). Формулата сама се размножи до края на таблицата и в нея използвах имена (натискайки знака "[") които автоматично са създадени! Ще направя отделна тема за имената в една таблица и начините за работя с тях. Има доста "магии" в тези формули:)
  • Лесно добавяне на сумарен ред под таблицата с избор на видовете аритметични операции. За използваната функция SubTotal ще направя отделна тема.
  • Не на последно място при създадена таблица и нейния избор се появява нова лента TableTools Design (най в дясно) за лесно оформяне на таблицата.

Както споменах ще има още теми за таблиците с които ще се опитам за ви "зарибя" и покажа че доста ви улесняват животът:) За това не пренебрегвайте тази възможност за създаване на лесни за разбиране и добре оформени таблици.

П.П Съжалявам, че във филмчето липсва курсорът, но в момента си правя експериментирам в търсенето на най-добрия софтуер за запис.:)