Gebruik van de Offset-functie in Excel

  • Deel Dit
Hugh West

Vandaag wil ik je voorstellen aan De OFFSET-functie van Excel met 3 echte voorbeelden.

Eerst zal ik de syntaxis van de formule beschrijven en daarna ga ik het hebben over hoe de OFFSET-functie kan worden gebruikt om problemen in het echte leven op te lossen.

Inleiding

De functie OFFSET kan een verwijzing teruggeven naar een cel (laten we die doelcel noemen) of bereik (doelbereik) dat een bepaald aantal rijen en kolommen verwijderd is van een andere cel (referentiecel) of bereik (referentiebereik).

De onderstaande figuur illustreert hoe u de functie OFFSET kunt gebruiken om de verwijzing naar een cel (linkerdeel) of een bereik (rechterdeel) terug te geven.

Het geeft u een intuïtieve indruk van wat een doelcel en wat een referentiecel is.

De groen gemarkeerde cel is een doelcel, terwijl de geel gemarkeerde cellen uit een doelbereik bestaan.

Blauw gemarkeerde cellen zijn referentiecellen.

Figuur 1

Wat betekent OFFSET in Excel (syntax)?

Hier is de syntaxis van de Offset-functie: OFFSET (referentie, rijen, kolommen, [hoogte], [breedte])

Referentie Vereist. De referentie is een cel of celbereik van waaruit de offset begint. Merk op dat de cellen naast elkaar moeten liggen als u een celbereik opgeeft.
Rijen Vereist Het aantal rijen, omhoog of omlaag, de referentiecel of de cel linksboven van het referentiebereik. Rijen kan zowel positief als negatief zijn. Kijk naar het linkerdeel van figuur 1, de doelcel wordt B2 als ik de functie wijzig in OFFSET (C3, -1, -1). B2 is één rij hoger dan C3.
Cols Vereist. Het aantal kolommen, links of rechts van de referentiecel of de cel linksboven van het referentiebereik. Zoals bij Rijen argument, de waarden van Cols kan ook zowel positief als negatief zijn. Hoe kunnen we de functie OFFSET schrijven als we B4 als referentiecel en C3 als doelcel instellen? Het antwoord is OFFSET (B4, -1, 1). Hier zie je dat Cols positief is en C3 één kolom rechts van B4.
Hoogte Optioneel. Gebruik het argument Hoogte alleen als het doel een bereik is. Het geeft aan hoeveel rijen het doelbereik omvat. Hoogte moet een positief getal zijn. In het rechterdeel van figuur 1 zie je dat er twee rijen in het doelbereik zijn. Daarom stellen we Hoogte in dat geval in op 2.
Breedte Optioneel. Gebruik het argument breedte alleen als het doel een bereik is (zie het rechterdeel van figuur 1). Het geeft aan hoeveel kolommen het doelbereik bevat. De breedte moet een positief getal zijn.

Nou, laat me je nu zien hoe je de OFFSET-functie kunt gebruiken om problemen in het echte leven op te lossen.

Het is algemeen bekend dat u alleen een lookup van links naar rechts kunt uitvoeren met de functie VLOOKUP.

De te zoeken waarde moet in de eerste kolom van uw tabelarray staan.

U moet uw hele tabelbereik één kolom naar rechts verschuiven als u een nieuwe lookup-waarde wilt toevoegen, of u moet uw gegevensstructuur wijzigen als u een andere kolom als lookup-waarde wilt gebruiken.

Maar door OFFSET te combineren met de Match-functie kan de beperking van de VLOOKUP-functie worden opgeheven.

Wat is de MATCH-functie en hoe kunnen we de OFFSET-functie combineren met de Match-functie om de lookup te doen?

Welnu, de functie Match zoekt naar een bepaald item in een bereik van cellen en geeft dan de relatieve positie van dat item in het bereik.

Laten we als voorbeeld het bereik B3:B8 van figuur 2.1 nemen (waarin de inkomsten van verschillende landen in verschillende jaren zijn weergegeven).

De formule "=MATCH ("USA", B3:B8, 0)" geeft als resultaat 1 aangezien USA het eerste item in het bereik is (zie cel B10 en C10).

Voor een ander bereik C2:F2 levert de formule "=MATCH (2015, C2:F2, 0)" het volgende op 3 aangezien 2015 het derde item in de reeks is (zie cel B11 en C11).

Terug naar de OFFSET functie.

Als we cel B2 als referentiecel instellen en cel E3 als doelcel nemen, hoe kunnen we dan de OFFSET-formule schrijven?

E3 is 1 rij onder B2 en 3 kolommen rechts naar B2.

Daarom kan de formule worden geschreven als "=OFFSET(B2, 1 , 3 )". Kijk goed naar de nummers in rode kleur, kun je zien dat ze overeenkomen?

Dat is het antwoord op de vraag - Hoe combineer je de OFFSET-functie met de Match-functie -? Match-functie kan worden toegepast om te dienen als tweede of derde argument van de OFFSET-functie (zie cel C13).

Cel C14 laat zien hoe de functie VLOOKUP kan worden gebruikt om dezelfde gegevens op te vragen.

We moeten weten dat de inkomsten in 2015 zijn opgenomen in de 4e kolom van de tabelarray B2:F8 voordat we de VLOOKUP-functie schrijven.

Het betekent dat we de gegevensstructuur goed moeten kennen wanneer we de VLOOKUP-functie gebruiken.

Dit is een andere beperking voor VLOOKUP. Door echter de MATCH-functie als argument van de OFFSET-functie te gebruiken, hoeven we de kolomindex niet te kennen.

Dit is erg handig als er veel kolommen zijn.

Figuur 2.1

Laten we nu verder gaan en een complexer voorbeeld bekijken.

Stel dat we een tabel hebben met bedrijfsnaam, contactnaam en e-mailadres voor verschillende bedrijven.

En we willen de bedrijfsnaam ophalen uit een bekende contactnaam of een contactnaam ophalen uit een bekend e-mailadres. Wat kunnen we doen?

Zie figuur 2.2, bereik B5:E8 bevat bedrijfsinformatie. Door invoer in cel C2 en cel B3, met behulp van de formule in het rode vierkant, kan ik de bedrijfsnaam achterhalen als ik de contactnaam weet.

Het bereik D2:E4 laat zien hoe een contactnaam met een bekend e-mailadres kan worden verkregen.

Samengevat illustreren deze twee voorbeelden dat we een rechts-naar-links lookup kunnen uitvoeren en dat de zoekwaarde niet in de meest rechtse kolom hoeft te worden geplaatst. Elke kolom in de tabel-array kan de zoekwaarde bevatten.

Figuur 2.2

Geval 2: Automatiseren van berekening door OFFSET- en COUNT-functies te combineren

Voordat we uitleggen hoe we de berekening kunnen automatiseren wanneer we een nieuw getal in een kolom toevoegen, beginnen we met hoe we het laatste getal in een kolom automatisch kunnen teruggeven.

Kijk naar de onderstaande figuur die invoer van Human Resources toont. Stel dat we het laatste getal in kolom B willen krijgen, dan wordt de formule "=OFFSET (C2, 9 , 0)" als we de OFFSET-functie toepassen.

Uit de formule weten we dat 9 is het sleutelnummer.

Zolang we dit getal automatisch kunnen teruggeven, kunnen we het laatste getal in een kolom automatisch lokaliseren.

9 is gewoon het aantal cellen met getallen in kolom C.

Als u bekend bent met de functie TELLEN, weet u dat de functie TELLEN het aantal cellen kan tellen dat getallen in een bereik bevat.

Bijvoorbeeld, de formule "=COUNT (C3:C11)" telt het aantal cellen dat getallen bevat in de cellen C3 tot en met C11.

In ons geval willen we weten hoeveel getallen er in een hele kolom staan, daarom moet een verwijzing als C:C worden gebruikt, die alle rijen in kolom C omvat.

Kijk naar de cellen G4 en H4, het getal dat wordt teruggegeven door "=COUNT(C:C)" is precies gelijk aan 9 .

Door in de bovenstaande OFFSET-functie 9 te vervangen door COUNT(C:C) krijgen we dus een nieuwe formule "=OFFSET (C2, COUNT(C:C) , 0)" (in cel H5).

Het resultaat is 87000, precies het laatste getal in kolom C.

Laten we nu overgaan tot de automatische berekening. Stel dat we het totaal willen van alle getallen in kolom C.

De formule zou zijn "=SUM (OFFSET (C2, 1, 0.)", 9 , 1))" als we SUM gebruiken in combinatie met OFFSET.

9 is het totale aantal rijen in bereik C3:C11 en ook het totale aantal cellen met getallen in kolom C.

Daarom kunnen we de formule op een nieuwe manier schrijven, zoals "=SUM (OFFSET (C2,1, 0, COUNT (C:C), 1))".

Kijk naar de cellen G10 en H10, het totaal aantal salarissen voor deze 9 werknemers is $521.700.

Als u nu een getal als $34.000 in cel C12 zet, worden zowel het getal in cel G5 als G10 veranderd in respectievelijk $34.000 en $555.700.

Dit is wat ik automatisering noem, omdat u de formules in cel G5 of G10 niet hoeft bij te werken.

U moet voorzichtig zijn wanneer u de COUNT-functie gebruikt, want de COUNT-functie geeft alleen het aantal cellen met getallen.

Bijvoorbeeld, "=COUNT (B: B)" geeft 0 in plaats van 9, omdat er geen cel in kolom B is die getallen bevat (zie cellen G3 en H3).

Kolom D bevat 10 cellen die getallen bevatten en het getal dat "COUNT (D: D)" oplevert is ook 10.

Maar als we het laatste getal in kolom D willen opvragen, zoals we deden voor kolom C, krijgen we nummer 0 (zie cel G8 en H8).

Uiteraard is 0 niet wat we willen. Wat is er mis? Cel D13 is 11 rijen verwijderd van cel D2 in plaats van 10 rijen.

Dit kan ook worden aangetoond met de formule "=OFFSET (D2, COUNT (D: D) + 1 , 0)" in cel G7.

Kortom, de getallen moeten naast elkaar liggen als we de COUNT-functie samen met de OFFSET-functie willen gebruiken om de berekening te automatiseren.

Figuur 3

Geval 3: Gebruik de OFFSET-functie om een dynamisch bereik te maken

Stel dat we de maandelijkse verkoop per eenheid van een bedrijf in kaart willen brengen. Figuur 4.1 toont de huidige gegevens en een grafiek die is gemaakt op basis van de huidige gegevens.

Elke maand wordt de verkoop van de eenheden van de meest recente maand toegevoegd onder het laatste getal in kolom C.

Is er een eenvoudige manier om de grafiek automatisch bij te werken?

De sleutel tot het bijwerken van de grafiek is het gebruik van de functie OFFSET om dynamische bereiknamen te maken voor de kolom Verkochte Eenheden.

Het dynamische bereik voor de verkoop van eenheden omvat automatisch alle verkoopgegevens wanneer nieuwe gegevens worden ingevoerd.

Figuur 4.1

Om een dynamisch bereik te maken, klikt u op de Formules en kies vervolgens Naam Manager of Naam definiëren .

Onder Nieuwe naam dialoogvenster verschijnt als u klikt op Naam definiëren .

Als u kiest voor Naam beheerder moet u ook klikken op Nieuw om de onderstaande Nieuwe naam dialoogvenster verschijnen.

Figuur 4.2

In de " Naam: " invoerveld moet de dynamische bereiknaam worden ingevuld. En in het " Verwijst naar:" invoerveld, moeten we de OFFSET-formule "=OFFSET (Figure4!$C$2, 1, 0, COUNT (!$C: $C), 1)" typen, die een dynamisch waardenbereik zou genereren op basis van de in kolom C getypte Eenheden Verkochte waarden.

Een naam geldt standaard voor de hele werkmap en moet uniek zijn binnen de werkmap.

Wij willen het bereik echter beperken tot een bepaald blad.

Daarom kiezen wij hier voor figuur4 in de " Werkingssfeer: "Na het klikken op OK wordt het dynamisch bereik gecreëerd.

Het zal automatisch alle verkoopgegevens opnemen wanneer nieuwe gegevens worden ingevoerd.

Klik nu met de rechtermuisknop op een willekeurig punt in de grafiek en selecteer "Gegevens selecteren".

Figuur 4.3

In de gevraagde Selecteer gegevens Bron, kies Serie 1 en dan Edit.

Figuur 4.4

En typ dan "=Figure4!Units" zoals figuur 4.5 laat zien.

Figuur 4.5

Laten we tenslotte eens proberen en 11 typen in cel C13. U ziet dat de grafiek is veranderd en de waarde 11 is opgenomen.

De grafiek verandert automatisch wanneer nieuwe gegevens worden toegevoegd.

Figuur 4.6

Lees meer...

  • Offset(...) functie in Excel met voorbeelden

Werkbestanden downloaden

Download de werkende bestanden van de onderstaande link.

Excel-Offset-Functie.rar

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.