Exceli valem: XLOOKUP hiljemalt kuupäeva järgi -

Lang L: none (table-of-contents)

Üldine valem

=XLOOKUP(max,dates,results,,-1) // latest match by date

Kokkuvõte

Andmekogumi uusima vaste saamiseks kuupäeva järgi saate kasutada XLOOKUP ligikaudses sobitusrežiimis, seades mängu_režiim väärtusele -1. Näidatud näites on G5 valem, mis on kopeeritud, järgmine:

=XLOOKUP(MAX(date),(item=F5)*date,price,,-1)

kus kuupäev (C5: C15), kirje (B5: B15) ja hind (D5: D15) nimetatakse vahemikeks.

Selgitus

XLOOKUP pakub mitmeid funktsioone, mis muudavad selle keerukamate otsingute jaoks erakordselt heaks. Selles näites soovime üksuse uusimat hinda kuupäeva järgi. Kui andmed sorteeritakse kuupäeva järgi kasvavas järjekorras, oleks see väga lihtne. Kuid sel juhul on andmed sortimata.

Vaikimisi tagastab XLOOKUP andmekogumi esimese vaste. Viimase vaste saamiseks võime valikulise argumendi search_mode väärtuseks seada -1, mis põhjustab XLOOKUP-i otsingu "last to first". Kuid me ei saa seda lähenemist siin kasutada, kuna pole mingit garantiid, et kauba viimane hind ilmub viimasena.

Selle asemel võime valikulise argumendi match_mode väärtuseks seada -1, et sundida ligikaudne vaste "täpne või järgmine väikseim", ning kohandada otsingu väärtust ja otsingumassiivi, nagu allpool selgitatud. G5 valem, mis on kopeeritud, on järgmine:

=XLOOKUP(MAX(date),(item=F5)*date,price,,-1)

Argumentide ükshaaval läbi töötades on otsingu_väärtus andmete suurim (viimane) kuupäev:

MAX(date) // get max date value

Otsingu_array tuletatakse loogilise loogikaavaldisega:

(item=F5)*date

Võrreldes iga üksust väärtuses F5 "Belt", saame massiivi TRUE / FALSE väärtusi:

(TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE)

kus TRUE väärtused tähistavad kirjeid "Belt" jaoks. See massiiv toimib nagu filter. Kui see korrutatakse nimetatud vahemiku kuupäeva väärtustega, hinnatakse TÕENE / VÄÄR väärtuseks 1 ja 0:

=(1;0;0;0;0;0;1;0;1;0;0)*date

Tulemuseks on massiiv, mis sisaldab ainult vööde nulle ja kuupäevi:

=(43484;0;0;0;0;0;43561;0;43671;0;0)

Märkus: seerianumbrid on kehtivad Exceli kuupäevad.

See massiiv tarnitakse otse otsingu_array argumendina XLOOKUP.

Return_array on nimega vahemik hind (D5: D15)

Valikulist argumenti not_found ei esitata.

Match_mode on seatud väärtusele -1, täpse vaste või järgmise väikseima üksuse jaoks.

XLOOKUP otsib maksimaalse kuupäeva väärtuse otsimismassiivist. Kuna massiiv on juba filtreeritud, et välistada kuupäevad, mis pole seotud vööga, leiab XLOOKUP lihtsalt parima vaste (kas täpne kuupäev või järgmine väikseim kuupäev), mis vastab viimasele kuupäevale.

Lõpptulemuseks on viimase kuupäevaga seotud hind. Valem töötab edasi, kui andmed on järjestatud suvalises järjekorras.

Huvitavad Artiklid...