Spis treści
Dziś chciałabym przedstawić Wam m.in. Funkcja OFFSET w programie Excel z 3 realnymi przykładami.
Na początku opiszę składnię formuły, a następnie opowiem o tym, jak funkcję OFFSET można wykorzystać do rozwiązywania problemów w prawdziwym życiu.
Wstęp
Funkcja OFFSET może zwrócić odwołanie do komórki (nazwijmy ją komórką docelową) lub zakresu (zakresem docelowym), która jest oddalona o określoną liczbę wierszy i kolumn od innej komórki (komórki odniesienia) lub zakresu (zakresu odniesienia).
Na poniższym rysunku przedstawiono sposób wykorzystania funkcji OFFSET do zwrócenia odwołania do komórki (lewa część) lub zakresu (prawa część).
Dzięki temu intuicyjnie dowiesz się, co jest komórką docelową, a co referencyjną.
Komórka zaznaczona na zielono jest komórką docelową, natomiast komórki zaznaczone na żółto składają się na zakres docelowy.
Komórki wyróżnione na niebiesko to komórki referencyjne.
Rysunek 1
Co oznacza OFFSET w programie Excel (składnia)?
Poniżej znajduje się składnia funkcji Offset: OFFSET (reference, rows, cols, [height], [width])
Odnośnik | Wymagane. Odwołanie jest komórką lub zakresem komórek, od których rozpoczyna się przesunięcie. Należy pamiętać, że komórki muszą być sąsiadujące ze sobą, jeśli określasz zakres komórek. |
Rzędy | Wymagane . liczba wierszy, w górę lub w dół, komórka odniesienia lub górna lewa komórka zakresu odniesienia. Rzędy może być dodatnia lub ujemna. Spójrz na lewą część rysunku 1, docelową komórką będzie B2, jeśli zmienię funkcję na OFFSET (C3, -1, -1). B2 jest o jeden rząd wyżej niż C3. |
Cols | Wymagane. Liczba kolumn po lewej lub prawej stronie komórki odniesienia lub górnej lewej komórki zakresu odniesienia. Podobnie jak w przypadku Rzędy argumentu, wartości Cols może być również zarówno dodatnia, jak i ujemna. Jak możemy napisać funkcję OFFSET, jeśli ustawimy B4 jako komórkę referencyjną i C3 jako komórkę docelową? Odpowiedzią jest OFFSET (B4, -1, 1). Tutaj widać, że Cols jest dodatnie, a C3 jest jedną kolumną na prawo od B4. |
Wysokość | Opcjonalnie. Argumentu Height należy używać tylko wtedy, gdy cel jest zakresem. Mówi on o tym, ile wierszy zawiera zakres docelowy. Height musi być liczbą dodatnią. W prawej części rysunku 1 widać, że w zakresie docelowym znajdują się dwa wiersze. Dlatego w tym przypadku ustawiamy Height jako 2. |
Szerokość | Opcjonalnie. Argument Width należy stosować tylko wtedy, gdy celem jest zakres (patrz prawa część rysunku 1). Określa on, ile kolumn zawiera zakres docelowy. Szerokość musi być liczbą dodatnią. |
Cóż, pozwól mi teraz pokazać, jak używać funkcji OFFSET do rozwiązywania problemów w prawdziwym życiu.
Przypadek 1: Wyszukiwanie od prawej do lewej poprzez połączenie funkcji OFFSET i MATCH
Wiadomo, że lookup od lewej do prawej można wykonać tylko za pomocą funkcji VLOOKUP.
Szukana wartość musi być umieszczona w pierwszej kolumnie twojej tablicy.
Musisz przesunąć cały zakres tabeli w prawo o jedną kolumnę, jeśli chcesz dodać nową wartość lookup lub musisz zmienić strukturę danych, jeśli chciałbyś użyć innej kolumny jako wartości lookup.
Ale łącząc OFFSET wraz z funkcją Match, można usunąć ograniczenie funkcji VLOOKUP.
Co to jest funkcja MATCH i jak możemy połączyć funkcję OFFSET z funkcją Match, aby zrobić lookup?
Otóż funkcja Dopasuj wyszukuje określony element w zakresie komórek, a następnie zwraca względną pozycję tego elementu w zakresie.
Jako przykład weźmy zakres B3:B8 z rysunku 2.1 (który przedstawia dochody różnych krajów w różnych latach).
Formuła "=MATCH ("USA", B3:B8, 0)" zwróci 1 ponieważ USA jest pierwszą pozycją w zakresie (patrz komórka B10 i C10).
Dla innego zakresu C2:F2, formuła "=MATCH (2015, C2:F2, 0)" zwraca. 3 ponieważ rok 2015 jest trzecią pozycją w zakresie (patrz komórka B11 i C11).
Wracając do funkcji OFFSET.
Jeżeli jako komórkę referencyjną ustawimy komórkę B2, a za komórkę docelową przyjmiemy komórkę E3, to jak możemy napisać formułę OFFSET?
E3 to. 1 wiersz poniżej B2 i 3 kolumny od prawej do B2.
Dlatego wzór można zapisać jako "=OFFSET(B2, 1 , 3 )". Przyjrzyj się uważnie liczbom w czerwonym kolorze, czy potrafisz stwierdzić, że są one dopasowane?
To jest odpowiedź na pytanie - Jak połączyć funkcję OFFSET z funkcją Match -. Funkcja Match może być zastosowana jako drugi lub trzeci argument funkcji OFFSET (patrz komórka C13).
Komórka C14 demonstruje, jak wykorzystać funkcję VLOOKUP do pobrania tych samych danych.
Przed napisaniem funkcji VLOOKUP musimy wiedzieć, że przychody w 2015 roku są zapisane w 4 kolumnie tablicy B2:F8.
Oznacza to, że musimy bardzo dobrze znać strukturę danych przy korzystaniu z funkcji VLOOKUP.
Jest to kolejne ograniczenie dla VLOOKUP, jednak dzięki zastosowaniu funkcji MATCH jako argumentu funkcji OFFSET nie musimy znać indeksu kolumny.
Jest to bardzo przydatne, jeśli istnieje wiele kolumn.
Rysunek 2.1
Teraz przejdźmy dalej i zobaczmy bardziej złożony przykład.
Załóżmy, że mamy tabelę zawierającą nazwę firmy, nazwę kontaktu i adres e-mail dla różnych firm.
I chcemy pobrać nazwę firmy ze znanej nazwy kontaktu lub uzyskać nazwę kontaktu ze znanego adresu e-mail. Co możemy zrobić?
Patrz rysunek 2.2, zakres B5:E8 zawiera informacje o firmie. Umieszczając dane wejściowe w komórce C2 i komórce B3, za pomocą formuły w czerwonym kwadracie, mogę pobrać nazwę firmy, jeśli znam nazwę kontaktu.
Zakres D2:E4 pokazuje, jak uzyskać nazwę kontaktu ze znanym adresem e-mail.
Podsumowując, te dwa przykłady ilustrują, że możemy wykonać lookup od prawej do lewej, a szukana wartość nie musi być umieszczona w kolumnie najbardziej prawej. Dowolne kolumny w tablicy mogą zawierać szukaną wartość.
Rysunek 2.2
Przypadek 2: Automatyzacja obliczeń łączących funkcje OFFSET i COUNT
Zanim przejdziemy do tego, jak zautomatyzować obliczenia za każdym razem, gdy dodajemy nową liczbę w kolumnie, zacznijmy od tego, jak automatycznie zwracać ostatnią liczbę w kolumnie.
Spójrz na poniższy rysunek, który przedstawia wpisy z działu kadr. Załóżmy, że chcemy uzyskać ostatnią liczbę w kolumnie B, formuła byłaby "=OFFSET (C2, 9 , 0)", jeśli zastosujemy funkcję OFFSET.
Ze wzoru możemy wiedzieć, że 9 to numer klucza.
Tak długo, jak możemy zwrócić ten numer automatycznie, możemy być w stanie zlokalizować ostatni numer w kolumnie automatycznie.
9 to po prostu liczba komórek, które zawierają liczby w kolumnie C.
Jeśli znasz funkcję COUNT, będziesz wiedział, że funkcja COUNT może zliczyć liczbę komórek, które zawierają liczby w danym zakresie.
Na przykład formuła "=COUNT (C3:C11)" zliczy liczbę komórek, które zawierają liczby w komórkach od C3 do C11.
W naszym przypadku chcielibyśmy wiedzieć ile jest liczb w całej kolumnie, dlatego należy użyć referencji takiej jak C:C, która zawiera wszystkie wiersze w kolumnie C.
Proszę spojrzeć na komórki G4 i H4, liczba zwrócona przez "=COUNT(C:C)" jest dokładnie równa 9 .
Tak więc, zastępując 9 przez COUNT(C:C) w powyższej funkcji OFFSET, możemy otrzymać nową formułę "=OFFSET (C2, COUNT(C:C) , 0)" (w komórce H5).
Liczba, którą zwraca, to 87000, która jest dokładnie ostatnią liczbą w kolumnie C.
Przejdźmy teraz do automatycznych obliczeń. Załóżmy, że chcemy uzyskać sumę wszystkich liczb z kolumny C.
Formuła byłaby "=SUM (OFFSET (C2, 1, 0, 9 , 1))", jeśli użyjemy SUM wraz z OFFSET.
9 to całkowita liczba wierszy w zakresie C3:C11, a także całkowita liczba komórek zawierających liczby w kolumnie C.
Dlatego możemy napisać formułę w nowy sposób jak "=SUM (OFFSET (C2,1, 0, COUNT (C:C), 1))".
Spójrz na komórki G10 i H10, łączna liczba wynagrodzeń dla tych 9 pracowników wynosi 521 700 dolarów.
Teraz jeśli w komórce C12 umieścisz liczbę taką jak 34 000 dolarów, to zarówno liczba w komórce G5, jak i G10 zmieni się odpowiednio na 34 000 i 555 700 dolarów.
To właśnie nazywam automatyzacją, ponieważ nie musisz aktualizować formuł w komórce G5 lub G10.
Musisz być ostrożny, gdy używasz funkcji COUNT, ponieważ funkcja COUNT zwraca tylko liczbę komórek, które zawierają liczby.
Na przykład "=COUNT (B: B)" zwraca 0 zamiast 9, ponieważ w kolumnie B nie ma komórki zawierającej liczby (patrz komórki G3 i H3).
Kolumna D zawiera 10 komórek zawierających liczby i liczba zwrócona przez "COUNT (D: D)" również wynosi 10.
Jeśli jednak chcemy pobrać ostatnią liczbę w kolumnie D, tak jak to zrobiliśmy dla kolumny C, otrzymamy liczbę 0 (patrz komórka G8 i H8).
Oczywiście 0 nie jest tym, co chcemy. Co jest nie tak? Komórka D13 jest oddalona od komórki D2 o 11 rzędów, a nie o 10 rzędów.
To również można wykazać wzorem "=OFFSET (D2, COUNT (D: D) + 1 , 0)" w komórce G7.
Podsumowując, liczby powinny do siebie przylegać, jeśli chcemy użyć funkcji COUNT wraz z funkcją OFFSET, aby umożliwić automatyzację obliczeń.
Rysunek 3
Przypadek 3: Użyj funkcji OFFSET, aby uzyskać zakres dynamiczny
Załóżmy, że chcemy sporządzić wykres miesięcznej sprzedaży jednostkowej pewnej firmy, a na rysunku 4.1 przedstawiono aktualne dane oraz wykres utworzony na podstawie aktualnych danych.
Co miesiąc pod ostatnią liczbą w kolumnie C będzie dodawana sprzedaż jednostek z ostatniego miesiąca.
Czy istnieje łatwy sposób na automatyczną aktualizację wykresu?
Kluczem do aktualizacji wykresu jest wykorzystanie funkcji OFFSET do utworzenia dynamicznych nazw zakresów dla kolumny Jednostki sprzedane.
Zakres dynamiczny dla sprzedaży jednostek będzie automatycznie obejmował wszystkie dane dotyczące sprzedaży w miarę wprowadzania nowych danych.
Rysunek 4.1
Aby utworzyć zakres dynamiczny, kliknij przycisk Formuły a następnie wybierz Nazwa Kierownik lub Określenie nazwy .
Poniżej Nowa nazwa okno dialogowe zostanie wyświetlone po kliknięciu na Określenie nazwy .
Jeśli wybierzesz Kierownik ds. nazwy , należy również kliknąć na Nowy aby wykonać poniższe Nowa nazwa pojawia się okno dialogowe.
Rysunek 4.2
W " Nazwa: " należy wypełnić nazwę zakresu dynamicznego, a w polu wejściowym " Dotyczy:" musimy wpisać formułę OFFSET "=OFFSET (Figure4!$C$2, 1, 0, COUNT (!$C: $C), 1)", która wygeneruje dynamiczny zakres wartości na podstawie wartości Units Sold wpisanych w kolumnie C.
Domyślnie nazwa będzie dotyczyć całego skoroszytu i musi być unikalna w obrębie skoroszytu.
Chcemy jednak ograniczyć zakres do konkretnego arkusza.
Dlatego wybieramy tutaj rysunek4 w " Zakres: "Po kliknięciu na OK , tworzony jest zakres dynamiczny.
Będzie on automatycznie uwzględniał wszystkie dane dotyczące sprzedaży w miarę wprowadzania nowych danych.
Teraz kliknij prawym przyciskiem myszy na dowolny punkt na wykresie, a następnie wybierz "Wybierz dane".
Rysunek 4.3
W podpowiedzi Wybierz dane Źródło, wybierz Seria1 a następnie Edytować.
Rysunek 4.4
A następnie wpisz "=Figure4!Units", jak pokazuje rysunek 4.5.
Rysunek 4.5
Na koniec spróbujmy wpisać 11 w komórce C13. Widać, że wykres się zmienił i pojawiła się wartość 11.
Wykres będzie się zmieniał automatycznie po dodaniu nowych danych.
Rysunek 4.6
Read More...
- Funkcja Przesunięcie(...) w Excelu z przykładami
Pobierz pliki robocze
Pobierz pliki robocze z poniższego linku.
Excel-Offset-Function.rar