Съдържание
Днес искам да ви представя Функцията OFFSET на Excel с 3 примера от реалния живот.
Първо ще опиша синтаксиса на формулата, а след това ще разкажа как функцията OFFSET може да се използва за решаване на проблеми в реалния живот.
Въведение
Функцията OFFSET може да върне препратка към клетка (нека я наречем целева клетка) или диапазон (целеви диапазон), която е на определен брой редове и колони от друга клетка (референтна клетка) или диапазон (референтен диапазон).
На фигурата по-долу е показано как да използвате функцията OFFSET, за да върнете препратка към клетка (лява част) или диапазон (дясна част).
Това ще ви даде интуитивна представа за това коя е целевата и коя е референтната клетка.
Клетката, подчертана в зелено, е целева клетка, а клетките, подчертани в жълто, се състоят от целеви диапазон.
Клетките, подчертани в синьо, са референтни клетки.
Фигура 1
Какво означава OFFSET в Excel (синтаксис)?
Ето синтаксиса на функцията Offset: OFFSET (референция, редове, колони, [височина], [ширина])
Справка | Изисква се. Препратката е клетка или диапазон от клетки, от които започва отместването. Обърнете внимание, че клетките трябва да са съседни една на друга, ако посочите диапазон от клетки. |
Редове | Изисква се . Броят на редовете, нагоре или надолу, референтната клетка или горната лява клетка на референтния диапазон. Редове Погледнете лявата част на фигура 1, целевата клетка ще бъде B2, ако променя функцията като OFFSET (C3, -1, -1). B2 е един ред по-нагоре от C3. |
Колс | Изисква се. Броят на колоните вляво или вдясно от референтната клетка или горната лява клетка на референтния диапазон. Редове аргумент, стойностите на Колс Как можем да запишем функцията OFFSET, ако зададем B4 като референтна клетка и C3 като целева клетка? Отговорът е OFFSET (B4, -1, 1). Тук можете да видите, че Cols е положителна и C3 е една колона вдясно от B4. |
Височина | По избор. Използвайте аргумента Height само ако целта е диапазон. Той показва колко реда включва целевият диапазон. Height трябва да бъде положително число. От дясната част на Фигура 1 се вижда, че в целевия диапазон има два реда. Затова в този случай задаваме Height като 2. |
Ширина | По избор. Използвайте аргумента Width само ако целта е диапазон (вижте дясната част на Фигура 1). Той показва колко колони съдържа целевият диапазон. Ширината трябва да е положително число. |
Нека сега ви покажа как да използвате функцията OFFSET за решаване на проблеми в реалния живот.
Случай 1: Търсене отдясно наляво чрез комбиниране на функциите OFFSET и MATCH
Добре известно е, че с функцията VLOOKUP можете да извършвате само търсене отляво надясно.
Търсената стойност трябва да бъде поставена в първата колона на масива от таблици.
Ако искате да добавите нова стойност за търсене, трябва да изместите целия диапазон на таблицата надясно с една колона или да промените структурата на данните, ако искате да използвате друга колона като стойност за търсене.
Но чрез комбиниране на OFFSET с функцията Match ограничението на функцията VLOOKUP може да бъде премахнато.
Какво представлява функцията MATCH и как можем да комбинираме функцията OFFSET с функцията Match, за да извършим търсенето?
Функцията "Съвпадение" търси определен елемент в диапазон от клетки и след това връща относителната позиция на този елемент в диапазона.
Нека вземем за пример диапазона B3:B8 от фигура 2.1 (който показва приходите на различни държави през различни години).
Формулата "=MATCH ("USA", B3:B8, 0)" ще върне 1 тъй като САЩ е първият елемент в диапазона (вж. клетки B10 и C10).
За друг диапазон C2:F2 формулата "=MATCH (2015, C2:F2, 0)" връща 3 тъй като 2015 г. е третият елемент в диапазона (вж. клетки B11 и C11).
Връщаме се към функцията OFFSET.
Ако зададем клетка B2 като референтна клетка и вземем клетка E3 като целева клетка, как можем да напишем формулата OFFSET?
E3 е 1 ред под B2 и 3 колони отдясно до B2.
Следователно формулата може да се запише като "=OFFSET(B2, 1 , 3 )". Разгледайте внимателно числата в червен цвят, можете ли да откриете, че те съвпадат?
Това е отговорът на въпроса - Как да комбинираме функцията OFFSET с функцията Match - Функцията Match може да се прилага като втори или трети аргумент на функцията OFFSET (вж. клетка C13).
Клетка C14 демонстрира как да се използва функцията VLOOKUP за извличане на същите данни.
Преди да напишем функцията VLOOKUP, трябва да знаем, че приходите през 2015 г. са записани в четвъртата колона на масива от таблици B2:F8.
Това означава, че трябва да познаваме много добре структурата на данните, когато използваме функцията VLOOKUP.
Това е още едно ограничение за VLOOKUP. Въпреки това, като използваме функцията MATCH като аргумент на функцията OFFSET, не е необходимо да знаем индекса на колоната.
Това е много полезно, ако има много колони.
Фигура 2.1
Сега нека продължим и видим по-сложен пример.
Да предположим, че имаме таблица, съдържаща име на компания, име за контакт и имейл адрес за различни компании.
И искаме да извлечем името на компанията от известно име на контакт или да получим име на контакт от известен имейл адрес. Какво можем да направим?
Вижте Фигура 2.2, диапазонът B5:E8 включва информация за компанията. Като поставям входни данни в клетките C2 и B3, с помощта на формулата в червения квадрат мога да извлека името на компанията, ако знам името на контакта.
Диапазон D2:E4 показва как да получите име за контакт с известен имейл адрес.
В обобщение тези два примера показват, че можем да извършваме търсене отдясно наляво и не е необходимо стойността за търсене да бъде поставена в най-дясната колона. Всяка колона в масива на таблицата може да съдържа стойността за търсене.
Фигура 2.2
Случай 2: Автоматизиране на изчисленията чрез комбиниране на функциите OFFSET и COUNT
Преди да представим как да автоматизираме изчисленията, когато добавяме ново число в колона, нека първо да започнем с това как да върнем автоматично последното число в колона.
Погледнете фигурата по-долу, която показва записи от "Човешки ресурси". Да предположим, че искаме да получим последното число в колона B, формулата ще бъде "=OFFSET (C2, 9 , 0)", ако приложим функцията OFFSET.
От формулата можем да разберем, че 9 е номерът на ключа.
Докато можем да върнем това число автоматично, можем да намерим последното число в колона автоматично.
9 е само броят на клетките, които съдържат числа в колона C.
Ако сте запознати с функцията COUNT, знаете, че тя може да преброи броя на клетките, които съдържат числа в даден диапазон.
Например формулата "=COUNT (C3:C11)" ще преброи броя на клетките, които съдържат числа в клетките от C3 до C11.
В нашия случай бихме искали да знаем колко числа има в цялата колона, затова трябва да се използва справка като C:C, която включва всички редове в колона C.
Моля, погледнете клетките G4 и H4, числото, върнато от "=COUNT(C:C)", е точно равно на 9 .
По този начин, като заменим 9 с COUNT(C:C) в горната функция OFFSET, можем да получим нова формула "=OFFSET (C2, COUNT(C:C) , 0)" (в клетка Н5).
Числото, което връща, е 87000, което е точно последното число в колона C.
Сега нека преминем към автоматичното изчисление. Да предположим, че искаме да получим общия сбор на всички числа в колона C.
Формулата ще бъде "=SUM (OFFSET (C2, 1, 0, 9 , 1))", ако използваме SUM заедно с OFFSET.
9 е общият брой редове в интервала C3:C11, както и общият брой клетки, съдържащи числа в колона C.
Затова можем да напишем формулата по нов начин, например "=SUM (OFFSET (C2,1, 0, COUNT (C:C), 1))".
Погледнете клетки G10 и H10, общият брой на заплатите за тези 9 служители е 521 700 USD.
Ако сега поставите число като 34 000 USD в клетка C12, двете числа в клетки G5 и G10 ще се променят съответно на 34 000 USD и 555 700 USD.
Това наричам автоматизация, тъй като не е необходимо да актуализирате формулите в клетки G5 или G10.
Трябва да внимавате, когато използвате функцията COUNT, тъй като тя връща само броя на клетките, които съдържат числа.
Например "=COUNT (B: B)" връща 0 вместо 9, тъй като в колона B няма клетка, която да съдържа числа (вж. клетки G3 и H3).
Колона D включва 10 клетки, съдържащи числа, и числото, върнато от "COUNT (D: D)", също е 10.
Но ако искаме да извлечем последното число в колона D, както направихме за колона C, ще получим числото 0 (вж. клетки G8 и H8).
Очевидно е, че 0 не е това, което искаме. Какво не е наред? Клетка D13 е на 11 реда от клетка D2 вместо на 10 реда.
Това може да се докаже и чрез формулата "=OFFSET (D2, COUNT (D: D) + 1 , 0)" в клетка G7.
В обобщение, числата трябва да са съседни едно на друго, ако искаме да използваме функцията COUNT заедно с функцията OFFSET, за да автоматизираме изчисленията.
Фигура 3
Случай 3: Използване на функцията OFFSET за създаване на динамичен обхват
Да предположим, че искаме да съставим графика на месечните продажби на единица продукция на дадена компания и на Фигура 4.1 са показани текущи данни и графика, създадена въз основа на текущи данни.
Всеки месец продажбите на единици за последния месец ще се добавят под последното число в колона В.
Има ли лесен начин за автоматично актуализиране на графиката?
Ключът към актуализирането на диаграмата е да се използва функцията OFFSET за създаване на динамични имена на диапазони за колоната "Продадени единици".
Динамичният обхват за продажбите на единици автоматично ще включва всички данни за продажбите при въвеждане на нови данни.
Фигура 4.1
За да създадете динамичен обхват, щракнете върху Формули и след това изберете Име на мениджъра или Определяне на името .
Под Ново име диалоговият прозорец ще ви подкани, ако щракнете върху Определяне на името .
Ако изберете Име на мениджъра , трябва също така да щракнете върху Нов за да направите следното Ново име се появява диалогов прозорец.
Фигура 4.2
В " Име: "В полето за въвеждане трябва да се попълни името на динамичния обхват. И в полето " Отнася се за:" трябва да въведем формулата OFFSET "=OFFSET (Figure4!$C$2, 1, 0, COUNT (!$C: $C), 1)", която ще генерира динамичен диапазон от стойности въз основа на въведените в колона C стойности на продадените единици.
По подразбиране името се прилага за цялата работна книга и трябва да е уникално в рамките на работната книга.
Искаме обаче да ограничим обхвата до определен лист.
Ето защо тук избираме фигура 4 в " Обхват: ". След като щракнете върху ОК , се създава динамичен обхват.
Тя автоматично включва всички данни за продажбите при въвеждане на нови данни.
Сега щракнете с десния бутон на мишката върху някоя точка от диаграмата и изберете "Изберете данни".
Фигура 4.3
В подканените Избор на данни Източник, изберете Серия1 и след това Редактиране.
Фигура 4.4
И след това въведете "=Figure4!Units", както е показано на Фигура 4.5.
Фигура 4.5
Накрая нека опитаме и въведем 11 в клетка C13. Виждате, че графиката се е променила и е включена стойност 11.
Диаграмата ще се променя автоматично при добавяне на нови данни.
Фигура 4.6
Прочетете повече...
- Функция Offset(...) в Excel с примери
Изтегляне на работни файлове
Изтеглете работните файлове от връзката по-долу.
Excel-Offset-Function.rar