Excel OFFSET-funksje - formulefoarbylden en gebrûk

  • Diel Dit
Michael Brown

Yn dizze tutorial sille wy wat ljocht skine op ien fan 'e meast mysterieuze bewenners fan it Excel-universum - de OFFSET-funksje.

Dus, wat is OFFSET yn Excel? Yn in notedop jout de OFFSET-formule in ferwizing werom nei in berik dat ôfset is fan in begjinsel of in berik fan sellen troch in spesifisearre oantal rigen en kolommen.

De OFFSET-funksje kin in bytsje lestich wêze om te krijen , dus litte wy earst in koarte technyske útlis gean (ik sil myn bêst dwaan om it ienfâldich te hâlden) en dan sille wy in pear fan 'e meast effisjinte manieren omfetsje om OFFSET yn Excel te brûken.

    Excel OFFSET-funksje - syntaksis en basisgebrûk

    De OFFSET-funksje yn Excel jout in sel of berik fan sellen werom dat in opjûn oantal rigen en kolommen is fan in opjûne sel of berik.

    De syntaksis fan 'e OFFSET-funksje is as folget:

    OFFSET(referinsje, rigen, kolommen, [hichte], [breedte])

    De earste 3 arguminten binne ferplicht en de lêste 2 binne opsjoneel. Alle arguminten kinne ferwizings wêze nei oare sellen of resultaten weromjûn troch oare formules.

    It liket derop dat Microsoft in goede poging dien hat om wat betsjutting yn 'e nammen fan' e parameters te setten, en se jouwe in hint oer wat jo moatte spesifisearje yn elk.

    Neaske arguminten:

    • Referinsje - in sel of in berik fan neistlizzende sellen wêrfan jo de offset basearje. Jo kinne it tinke as it útgongspunt.
    • Rijen - It oantal rigenkolom (A):

      =OFFSET(A5:B9, MATCH(B1, OFFSET(A5:B9, 0, 1, ROWS(A5:B9), 1) ,0) -1, 0, 1, 1)

      Ik wit dat de formule wat ûnhandig liket, mar it wurket wol :)

      Foarbyld 2 Hoe kinne jo in boppe-opsykje yn Excel dwaan

      As it gefal is mei VLOOKUP dat net nei lofts kin sjen, kin de horizontale tsjinhinger - HLOOKUP-funksje - net nei boppen sjen om in wearde werom te jaan.

      As jo ​​in boppeste rige moatte scannen foar wedstriden, kin de OFFSET MATCH-formule wer helpe, mar dizze kear moatte jo it ferbetterje mei de KOLUMNS-funksje, sa as dizze:

      OFFSET( lookup_table , return_row_offset , MATCH( lookup_value , OFFSET( lookup_tabel , lookup_row_offset , 0, 1, COLUMNS( opsyktabel )) , 0) -1, 1, 1)

      Wêr:

      • Lookup_row_offset - it oantal rigen om fan it begjinpunt nei de opsykrige te ferpleatsen.
      • Return_row_offset - it oantal rigen om te ferpleatsen fan it begjinpunt nei de weromkommende rige.

      Oannommen dat de opsyktabel B4: F5 is en de opsykwearde yn sel B1 is, giet de formule as folget:

      =OFFSET(B4:F5, 0, MATCH(B1, OFFSET(B4:F5, 1, 0, 1, COLUMNS(B4:F5)), 0) -1, 1, 1)

      Yn ús gefal, de opsykrige offset is 1, om't ús opsykberik 1 rige del is fan it begjinpunt, de weromkommende rige offset is 0, om't wy wedstriden weromkomme út 'e earste rige yn 'e tabel.

      Foarbyld 3. Opsykje yn twa wizen (troch kolom- en rigewearden)

      Twa-opsykje jout in wearde werom basearre op oerienkomsten yn sawol de rigen as de kolommen. En jo kinne it folgjende brûkedûbele opsykmatrixformule om in wearde te finen op it krúspunt fan in bepaalde rige en kolom:

      =OFFSET( opsyktabel , MATCH( rige opsykwearde , OFFSET( opsyktabel , 0, 0, ROWS( opsyktabel ), 1), 0) -1, MATCH( kolomopsykwearde , OFFSET( opsyktabel , 0, 0, 1, COLUMNS( opsyktabel )), 0) -1)

      Jûn dat:

      • De opsyktabel is A5:G9
      • De wearde dy't oerienkomt op 'e rigen is yn B2
      • De wearde dy't oerienkomt mei de kolommen is yn B1

      Jo krije de folgjende twadimensjonale opsykformule:

      =OFFSET(A5:G9, MATCH(B2, OFFSET(A5:G9, 0, 0, ROWS(A5:G9), 1), 0)-1, MATCH(B1, OFFSET(A5:G9, 0, 0, 1, COLUMNS(A5:G9)), 0) -1)

      It is net it maklikste om te ûnthâlden, is it? Derneist is dit in arrayformule, dus ferjit net om op Ctrl + Shift + Enter te drukken om it goed yn te fieren.

      Fansels is dizze lange OFFSET-formule net de ienige mooglike manier om in dûbele opsykjen yn Excel te dwaan. Jo kinne krije itselde resultaat troch it brûken fan de VLOOKUP & amp; MATCH funksjes, SUMPRODUCT, of INDEX & amp; WEDSTRIID. D'r is sels in formulefrije manier - om neamde berik en de krusingsoperator (romte) te brûken. De folgjende tutorial ferklearret alle alternative oplossings yn folslein detail: Hoe kinne jo twa-wize sykjen dwaan yn Excel.

      OFFSET-funksje - beheiningen en alternativen

      Hooplik hawwe de formulefoarbylden op dizze side wat ferlern ljocht oer hoe't jo OFFSET brûke yn Excel. Om de funksje yn jo eigen wurkboeken effisjint te brûken, moatte jo lykwols net allinich wêzekennis fan syn sterke punten, mar wês ek foarsichtich foar syn swakkens.

      De meast krityske beheiningen fan 'e Excel OFFSET-funksje binne as folget:

      • Lykas oare flechtige funksjes is OFFSET in boarne-hongerige funksje . Wannear't d'r in feroaring is yn 'e boarnegegevens, wurde jo OFFSET-formules opnij berekkene, wêrtroch Excel in bytsje langer dwaande hâldt. Dit is gjin probleem foar ien formule yn in lyts spreadsheet. Mar as d'r tsientallen of hûnderten formules yn in wurkboek binne, kin Microsoft Excel nochal in skoft duorje om opnij te berekkenjen.
      • Excel OFFSET-formules binne hurd te besjen . Om't referinsjes dy't weromjûn wurde troch de OFFSET-funksje dynamysk binne, kinne grutte formules (benammen mei geneste OFFSET's) frij lestich wêze om te debuggen.

      Alternatyf foar it brûken fan OFFSET yn Excel

      Lykas faaks de gefal yn Excel, itselde resultaat kin berikt wurde op in oantal ferskillende manieren. Dat, hjir binne trije elegante alternativen foar OFFSET.

      1. Excel-tabellen

        Sûnt Excel 2002 hawwe wy in wirklik prachtige funksje - folweardige Excel-tabellen, yn tsjinstelling ta gewoane berik. Foar in meitsje in tabel út strukturearre gegevens, jo gewoan klikke op Ynfoegje & GT; Tabel op it ljepblêd Thús of druk op Ctrl + T .

        Troch in formule yn te fieren yn ien sel yn in Excel-tabel, kinne jo in saneamde "berekkene kolom" meitsje dy't automatysk kopiearret de formule nei alle oare sellen yn dy kolom en past deformule foar elke rige yn 'e tabel.

        Boppedat wurdt elke formule dy't ferwiist nei de gegevens fan in tabel automatysk oanpast om alle nije rigen op te nimmen dy't jo tafoegje oan 'e tabel of de rigen dy't jo wiskje útslute. Technysk wurkje sokke formules op tabelkolommen of rigen, dy't dynamyske berik fan aard binne. Elke tabel yn in wurkboek hat in unike namme (de standert binne Tabel1, Tabel2, ensfh.) en jo kinne jo tabel werneame fia de ljepper Ontwerp > Eigenskippen groep > ; Tabelnamme tekstfak.

        De folgjende skermôfbylding lit de SUM-formule sjen dy't ferwiist nei de kolom Bonus fan Tabel3. Tink derom dat de formule de kolomnamme fan 'e tabel befettet ynstee fan in berik fan sellen.

      2. Excel INDEX-funksje

        Hoewol net krekt op deselde manier as OFFSET, kin Excel INDEX ek brûkt wurde om dynamyske berikferwizings te meitsjen. Oars as OFFSET is de INDEX-funksje net flechtich, sadat it jo Excel net fertrage sil.

      3. Excel INDIRECT-funksje

        Mei help fan de INDIRECT-funksje kinne jo dynamysk berik meitsje ferwizings út in protte boarnen lykas sel wearden, sel wearden en tekst, neamd berik. It kin ek dynamysk ferwize nei in oar Excel-blêd of wurkboek. Jo kinne al dizze formulefoarbylden fine yn ús Excel INDIREKTE funksje-tutorial.

      Unthâlde jo de fraach oan it begjin fan dizze tutorial - Wat is OFFSET yn Excel? Ik hoopje no dat jo it antwurd witte: ) As jo ​​​​wat mear praktyske ûnderfining wolle, fiel jo frij om ús praktykwurkboek te downloaden (sjoch hjirûnder) mei alle formules dy't hjiroer besprutsen binne side en reverse engineer se foar djipper begryp. Tankewol foar it lêzen!

      Oefeningswurkboek foar download

      OFFSET-formulefoarbylden (.xlsx-bestân)

      om fanút it begjinpunt te ferpleatsen, omheech of omleech. As rigen in posityf getal is, beweecht de formule ûnder de startreferinsje, by in negatyf getal giet it boppe de startreferinsje.
    • Kols - It oantal kolommen dat jo de formule wolle om fan it begjinpunt ôf te bewegen. Njonken rigen kinne kolommen posityf wêze (rjochts fan de startreferinsje) of negatyf (links fan de startreferinsje).

    Opsjonele arguminten:

    • Hichte - it oantal rigen om werom te jaan.
    • Breedte - it oantal kolommen om werom te jaan.

    Sawol de hichte as breedte arguminten moatte altyd wêze positive sifers. As ien is weilitten, is it standert op de hichte of breedte fan referinsje .

    Opmerking. OFFSET is in flechtich funksje en kin jo wurkblêd fertrage. De traachheid is direkt evenredich mei it oantal sellen dat opnij berekkene is.

    En no litte wy de teory yllustrearje mei in foarbyld fan de ienfâldichste OFFSET-formule.

    Excel OFFSET-formulefoarbyld

    Hjir is in foarbyld fan in ienfâldige OFFSET-formule dy't in selferwizing werombringt op basis fan in begjinpunt, rigen en kolommen dy't jo oantsjutte:

    =OFFSET(A1,3,1)

    De formule fertelt Excel om sel A1 te nimmen as de útgongspunt (referinsje), dan ferpleatse 3 rigen del (rige argumint) en 1 kolom nei lofts (cols argumint). As resultaat jout dizze OFFSET-formule de wearde werom yn sel B4.

    De ôfbylding oan de linkerkanttoant de rûte fan 'e funksje en it skermôfbylding oan' e rjochterkant toant hoe't jo de OFFSET-formule kinne brûke op echte gegevens. It ienige ferskil tusken de twa formules is dat de twadde (rjochts) in selferwizing (E1) omfettet yn it argumint foar rigen. Mar om't sel E1 nûmer 3 befettet, en krekt itselde nûmer ferskynt yn it rigenargumint fan 'e earste formule, soene beide in identike resultaat jaan - de wearde yn B4.

    Excel OFFSET-formules - dingen om te ûnthâlden

    • De OFFSET-funksje is dat Excel eins gjin sellen of berik ferpleatst, it jout gewoan in referinsje.
    • As in OFFSET-formule in berik jout fan sellen ferwize de arguminten foar rigen en kolommen altyd nei de sel linksboppe yn 'e weromkommende rage.
    • It referinsjeargumint moat in sel of berik fan neistlizzende sellen befetsje, oars sil jo formule de #VALUE! flater.
    • As de oantsjutte rigen en/of kolommen in referinsje oer de râne fan it rekkenblêd ferpleatse, sil jo Excel OFFSET-formule de #REF! flater.
    • De OFFSET-funksje kin brûkt wurde binnen elke oare Excel-funksje dy't in sel-/berikreferinsje akseptearret yn syn arguminten.

    As jo ​​bygelyks besykje de formule =OFFSET(A1,3,1,1,3) te brûken op himsels sil it in #VALUE smite! flater, sûnt in berik om werom (1 rige, 3 kolommen) past net yn ien sel. As jo ​​​​it lykwols ynbêde yn 'e SUM-funksje, lykasdit:

    =SUM(OFFSET(A1,3,1,1,3))

    De formule sil de som fan wearden weromjaan yn in 1-rige by 3-kolom berik dat 3 rigen hjirûnder is en 1 kolom rjochts fan sel A1, d.w.s. de totaal wearden yn sellen B4:D4.

    Wêrom brûk ik OFFSET yn Excel?

    No't jo witte wat de OFFSET-funksje docht, kinne jo freegje josels: "Wêrom moatte jo it brûke?" Wêrom net gewoan in direkte referinsje skriuwe lykas B4:D4?

    De Excel OFFSET-formule is tige goed foar:

    Dynamyske berik oanmeitsje : Referinsjes lykas B1:C4 binne statysk , wat betsjut dat se altyd ferwize nei in opjûne berik. Mar guon taken binne makliker te fieren mei dynamyske berik. Dit is benammen it gefal as jo wurkje mei it feroarjen fan gegevens, bgl. jo hawwe in wurkblêd dêr't elke wike in nije rige of kolom tafoege wurdt.

    It berik fan 'e startsel krije . Soms kinne jo it eigentlike adres fan it berik net witte, hoewol jo witte dat it begjint fan in bepaalde sel. Yn sokke senario's is it brûken fan OFFSET yn Excel de goede manier om te gean.

    Hoe kinne jo de OFFSET-funksje brûke yn Excel - formulefoarbylden

    Ik hoopje dat jo net ferfeeld hawwe mei safolle teory . Hoe dan ek, no komme wy ta it meast spannende diel - praktyske gebrûk fan 'e OFFSET-funksje.

    Excel OFFSET- en SUM-funksjes

    It foarbyld dat wy in momint lyn besprutsen toant it ienfâldichste gebrûk fan OFFSET & ; SOM. Litte wy no nei dizze funksjes yn in oare hoeke sjen en sjen watoars kinne se dwaan.

    Foarbyld 1. In dynamyske SUM / OFFSET-formule

    As jo ​​wurkje mei kontinu bywurke wurkblêden, wolle jo miskien in SUM-formule hawwe dy't automatysk alle nij tafoege rigen kiest.

    Stel dat jo de boarnegegevens hawwe gelyk oan wat jo sjogge yn 'e skermôfbylding hjirûnder. Elke moanne wurdt in nije rige tafoege krekt boppe de SUM-formule, en fansels wolle jo it opnimme yn it totaal. Oer it algemien binne d'r twa karren - óf bywurkje it berik yn 'e SUM-formule elke kear mei de hân of lit de OFFSET-formule dit foar jo dwaan.

    Sûnt de earste sel fan it berik ta som wurdt direkt oanjûn yn 'e SUM-formule, jo moatte allinich beslute oer de parameters foar de Excel OFFSET-funksje, dy't de lêste sel fan it berik sil krije:

    • Reference - de sel mei dêryn it totaal, B9 yn ús gefal.
    • Rows - de sel rjochts boppe it totaal, dy't it negative getal -1 fereasket.
    • Cols - it is 0 om't jo net feroarje wolle de kolom.

    Dus, hjir giet it SUM / OFFSET formulepatroan:

    =SUM( earste sel:(OFFSET( sel mei totaal, -1,0)

    Tweaked foar it boppesteande foarbyld, de formule sjocht der sa út:

    =SUM(B2:(OFFSET(B9, -1, 0)))

    En lykas oantoand yn 'e ûnderste skermôfbylding, wurket it feilloos:

    Foarbyld 2. Excel OFFSET-formule om de lêste N rigen op te tellen

    Stel yn it boppesteande foarbyld dat jo it bedrach fan bonussen witte wolle foarde lêste N moannen leaver as grutte totaal. Jo wolle ek dat de formule automatysk alle nije rigen befettet dy't jo tafoegje oan it blêd.

    Foar dizze taak sille wy Excel OFFSET brûke yn kombinaasje mei de SUM en COUNT / COUNTA funksjes:

    =SUM(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    of

    =SUM(OFFSET(B1,COUNTA(B:B)-E1,0,E1,1))

    De folgjende details kinne jo helpe om de formules better te begripen:

    • Reference - de kop fan 'e kolom wêrfan jo wearden optelle wolle, sel B1 yn dit foarbyld.
    • Rows - om it oantal rigen te berekkenjen dat jo moatte kompensearje, brûke jo de funksje COUNT of COUNTA.

      COUNT jout it oantal sellen yn kolom B werom dy't nûmers befetsje, wêrfan jo de lêste N moannen ôflûke (it oantal is sel E1), en 1 tafoegje.

      As COUNTA jo funksje fan kar is, jo hoege gjin 1 ta te foegjen, om't dizze funksje alle net-lege sellen telt, en in koptekstrige mei in tekstwearde foeget in ekstra sel ta dy't ús formule nedich is. Tink derom dat dizze formule allinich goed wurket op in ferlykbere tabelstruktuer - ien koptekstrige folge troch rigen mei nûmers. Foar ferskate tabellayouts moatte jo miskien wat oanpassings meitsje yn 'e OFFSET/COUNTA-formule.

    • Cols - it oantal kolommen dat te kompensearjen is nul (0).
    • Height - it oantal rigen om op te tellen is spesifisearre yn E1.
    • Width - 1 kolom.

    It brûken fan OFFSET-funksje mei AVERAGE, MAX, MIN

    Op deselde wize as wy berekkene de bonussen foar de lêste N moannen, do kinstkrije in gemiddelde fan 'e lêste N dagen, wiken of jierren en ek fine harren maksimum of minimum wearden. It ienige ferskil tusken de formules is de namme fan de earste funksje:

    =AVERAGE(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    =MAX(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    =MIN(OFFSET(B1,COUNT(B:B)-E1+1,0,E1,1))

    De kaai foardiel fan dizze formules boppe de gewoane AVERAGE (B5: B8) of MAX (B5: B8) is dat jo de formule net elke kear moatte bywurkje as jo boarnetabel bywurke wurdt. Gjin saak hoefolle nije rigen wurde tafoege of wiske yn jo wurkblêd, de OFFSET formules sille altyd ferwize nei it opjûne oantal lêste (leechste) sellen yn de kolom.

    Excel OFFSET formule om in dynamysk berik te meitsjen

    Brûkt yn kombinaasje mei COUNTA, de OFFSET-funksje kin jo helpe om in dynamysk berik te meitsjen dat yn in protte senario's nuttich wêze kin, bygelyks om automatysk bywurkbere útklaplisten te meitsjen.

    De OFFSET-formule foar in dynamysk berik is as folget:

    =OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)

    Yn it hert fan dizze formule brûke jo de COUNTA-funksje om it oantal net-lege sellen yn 'e doelkolom te krijen. Dat getal giet nei it hichteargumint fan OFFSET en jout it oan hoefolle rigen weromkomme moatte.

    Oansein dat is it in reguliere offsetformule, wêrby't:

    • Referinsje is it begjinpunt wêrfan jo de offset basearje, bygelyks Sheet1!$A$1.
    • Rijen en Cols binne beide 0, om't d'r gjin kolommen of rigen binne om te kompensearjen.
    • Breedte is 1 kolom.

    Opmerking. Asto bistit meitsjen fan in dynamysk berik yn it hjoeddeistige blêd, it is net nedich om de blêdnamme op te nimmen yn 'e referinsjes, Excel sil it automatysk foar jo dwaan by it meitsjen fan it neamde berik. Oars, wês wis dat jo de namme fan 'e blêd opnimme, folge troch it útropteken lykas yn dit formulefoarbyld.

    As jo ​​ienris in dynamysk neamd berik makke hawwe mei de boppesteande OFFSET-formule, kinne jo Gegevensvalidaasje brûke om in dynamyske útklaplist te meitsjen dy't automatysk bywurke wurdt sa gau as jo items tafoegje of fuortsmite fan 'e boarnelist.

    Foar de detaillearre stap-foar-stap-begelieding oer it meitsjen fan dellûklisten yn Excel, kontrolearje asjebleaft de folgjende tutorials:

    • Drop-down-listen oanmeitsje yn Excel - statysk, dynamysk, fan in oar wurkboek
    • It meitsjen fan in ôfhinklike dellûklist

    Excel OFFSET & amp; VLOOKUP

    As elkenien wit, wurde ienfâldige fertikale en horizontale opsykjen útfierd mei respektivelik de VLOOKUP- of HLOOKUP-funksje. Dizze funksjes hawwe lykwols te folle beheiningen en stroffelje faak yn krêftiger en kompleksere opsykformules. Dus, om mear ferfine sykjen yn jo Excel-tabellen út te fieren, moatte jo sykje nei alternativen lykas INDEX, MATCH en OFFSET.

    Foarbyld 1. OFFSET-formule foar in lofts Vlookup yn Excel

    Ien fan 'e meast beruchte beheiningen fan' e VLOOKUP-funksje is it ûnfermogen om nei syn lofts te sjen, wat betsjut dat VLOOKUP allinich in wearde kin weromjaan oanrjochts fan de opsykkolom.

    Yn ús foarbyldopsyktabel binne der twa kolommen - moannenammen (kolom A) en bonussen (kolom B). As jo ​​​​foar in bepaalde moanne in bonus krije wolle, sil dizze ienfâldige VLOOKUP-formule sûnder problemen wurkje:

    =VLOOKUP(B1, A5:B11, 2, FALSE)

    Sadree't jo lykwols de kolommen yn 'e opsyktabel wikselje, dit sil daliks resultearje yn de #N/A-flater:

    Om in opsykjen oan de linkerkant te behanneljen, hawwe jo in mear alsidige funksje nedich dy't it net echt skele kin wêr't de weromkommende kolom leit . Ien fan mooglike oplossingen is it brûken fan in kombinaasje fan INDEX- en MATCH-funksjes. In oare oanpak is it brûken fan OFFSET, MATCH en ROWS:

    OFFSET( lookup_table , MATCH( lookup_value , OFFSET( lookup_table , 0, lookup_col_offset , ROWS( opsyktabel ), 1) ,0) -1, return_col_offset , 1, 1)

    Wêr:

    • Lookup_col_offset - is it oantal kolommen om fan it begjinpunt nei de opsykkolom te ferpleatsen.
    • Return_col_offset - is it oantal kolommen dat fan it begjinpunt nei de return ferpleatst wurdt. pylder.

    Yn ús foarbyld is de opsyktabel A5:B9 en de opsykwearde is yn sel B1, de opsykkolom offset is 1 (om't wy sykje nei de opsykwearde yn 'e twadde kolom (B) ), wy moatte 1 kolom nei rjochts ferpleatse fan it begjin fan 'e tabel), de weromkommende kolom offset is 0, om't wy wearden werombringe fan 'e earste

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.