понеделник, 16 август 2010 г.

#010 Функция Offset и функция Index

Сега сравних #004 и #009 и установих, че съм използвал различен подход при пакетирането на стойности. В единия случай съм използвал Offset, а в другия Index. Да кажем че е с учебна цел:) Ако сте забелязали до сега не коментирам синаксисът на дадена функция. Има си хелпове и Google:) Но все пак да обърна внимание на някоки важни различия между Index и Offset:
  • Функцията индекс връща единична стойност базирана на координатите на ред и колона (колоната не е задължителна) в зона от клетки. Докато функцията Offset връща област или клетка. Указател по-скоро. Именно за това в някой примери (не винаги) се налага да се използва функцията N за да се превърне указателя в числова стойност.  Както се вижда Index е по-подходяща в случаите когато се изисква връщане на единична стойност, но Offset е много по-мощна. Може да се каже, че съм използвал излишна функцията Offset в #004 при колонката за "пакетиране" на резултата и по-правилното е използването на Index в #009.
  • Друго важно различие е, че индекс използва точни координати докато Offset използва отместване като началната точка е с отместване 0,0! За да стане по-ясно запомнете че "Index брои от единица, Offset от нула":):)
Ето един пример:
Данни
Задача: Имаме зона от клетки. Да се извлече втората клетка от зоната. (В случая стойността "BBB").
Отговор:
  • С функция Index: =INDEX(A1:A4,2,1) . Втори ред първа колона. Човешки:) NB! В случая може да се пропусне номера на колоната. =INDEX(A1:A4,2)
  • С функция Offset: =OFFSET(A1:A4,1,0,1,1). ОТМЕСТВАНЕ(!)  ЕДИН ред надолу и НУЛА колонки в дясно спрямо A1. Височина на резултатния блок 1 (тук не е отместване ами БРОЙ редове!), широчина 1 (тук не е отместване ами БРОЙ колони!). Доста по-различно от Index, но даващо същия резултат. Може да опитате.

Сега може отново да видите #004 и да се опитате да замените Offset (става въпрос за колонка К) и да се опитате да Fix-нете заменяйки Offset с Index:) Но и да не успеете нали си работи;)

Няма коментари:

Публикуване на коментар