„Excel“ formulė: Gaukite paskutinės ne tuščios langelio vertę -

Bendroji formulė

=LOOKUP(2,1/(A:A""),A:A)

Santrauka

Norėdami rasti paskutinės ne tuščios eilutės ar stulpelio langelio vertę, galite naudoti funkciją LOOKUP šioje stebėtinai kompaktiškoje formulėje. Kaip papildoma premija, ši formulė nėra masyvo formulė ir nėra nepastovi.

Paaiškinimas

Raktas norint suprasti šią formulę yra pripažinti, kad 2 paieškos_vertė sąmoningai yra didesnė už visas reikšmes, kurios bus rodomos paieškos_vektoriuje.

  1. Išraiška A: A "" pateikia tikrųjų ir klaidingų reikšmių masyvą: (TRUE, FALSE, TRUE,…).
  2. Skaičius 1 padalinamas iš šio masyvo ir sukuria naują masyvą, susidedantį iš 1 arba padalijus iš nulinės klaidos (# DIV / 0!): (1,0,1,…). Šis masyvas yra paieškos_vektorius.
  3. Kai „lookup_value“ nerandama, LOOKUP atitiks kitą mažiausią vertę.
  4. Šiuo atveju „lookup_value“ vertė yra 2, tačiau didžiausia „lookup_array“ reikšmė yra 1, todėl peržiūra atitiks paskutinius 1 masyvo duomenis.
  5. LOOKUP grąžina atitinkamą rezultato_vektoriaus vertę (ty vertę toje pačioje vietoje).

Spręsti klaidas

Jei „lookup_vector“ yra klaidų, ypač jei paskutiniame ne tuščiame langelyje yra klaida, šią formulę reikia koreguoti. Šis koregavimas reikalingas, nes "" kriterijai pateiks klaidą, jei langelyje yra klaida. Norėdami išspręsti šią problemą, naudokite ISBLANK su NOT:

=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)

Paskutinė skaitinė vertė

Norėdami gauti paskutinę skaitinę vertę, galite pridėti funkciją ISNUMBER taip:

=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)

Paskutinės vertės padėtis

Jei norite gauti paskutinės vertės poziciją (šiuo atveju eilutės numerį), galite išbandyti tokią formulę:

=LOOKUP(2,1/(A:A""),ROW(A:A))

Čia pateikiame to paties diapazono eilučių numerius, ieškodami rezultatų vektoriaus, ir sugrąžinsime paskutinės rungties eilutės numerį.

Įdomios straipsniai...