Nutikas massiivivalem: viidake veeru pealkirjale rea viimases tühjas lahtris

Lang L: none (table-of-contents):

Anonim

Kas teate toredat nippi, mille abil luua viide veeru pealkirjale rea viimases tühjas lahtris? Parim: te ei vaja abijooni ega veerge. Nii lihtne see ongi:

Ühendage neli funktsiooni IFERROR (), INDEX (), MAX () ja IF ()

Müügijuht saadab teile nimekirja lepingutest, mis sõlmitakse järk -järgult toodete kohta, mille tootmine lõpetatakse ①. Peaksite kasutama veerus N olevat valemit, et määrata iga toote viimane müügikuu - ilma täiendavate ridade või veergudeta. Kui rohkem lepinguid pole sõlmitud, sisestage veergu N tühi lahter.

See esmapilgul banaalne näide osutub kõvaks pähkliks ilma abijooni või -veerge kasutamata. nagu Excel harjutamiseks-Lugejad murravad pähklit! Lahtris on probleemide lahendamiseks järgmine massiivivalem N2 loodud:

{= IFERROR (INDEX ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 ""; COLUMN (B2: M2) -1; -1))); "")}

Vaadake samm -sammult, kuidas see toimib

Alustage massiivivalemisse sisseehitatud tingimusega IF (): {= IFERROR (INDEX ($ B $ 1: $ M $ 1; MAX (KUI (B2: M2 "", VEERG (B2: M2) -1, -1)));"")}

Tingimus IF () loob massiivi valemisse fiktiivse abirea ja kontrollib lahtreid B2 kuni M2kas need on tühjad või mitte. Kui lahter on tühi, tagastatakse väärtus -1 muidu funktsiooni COLUMN () kaudu, vastava veeru number miinus väärtus 1.
Lahutamine 1 on valemis kohustuslik, kuna tabeli esimene veerg ei sisalda kuu nime, vaid toote nime. Allpool saate teada, kuidas kasutada funktsiooni INDEX () vastava kuu nime kuvamiseks, mis - kui te ei lahutanud 1 - kasutatud lisaveeru tõttu A. oleks täpselt ühe veeru võrra vale.

Kui kõik lahtrid vahemikus B2: M2 on tühjad, väärtus -1 (ilma müügita) loob vea, mida kasutame tühja lahtri esitamiseks. Aktiivset abiliini on näha joonisel ③ real 3.

Järgmises etapis loete välja suurima väärtuse funktsiooniga MAX (), milles IF () tingimus on pesastatud. See on väärtus 12 real 3 (veerg 13 miinus 1; vt abirida joonisel ③):

{= IFERROR (INDEX ($ B $ 1: $ M $ 1;MAX (KUI (B2: M2 "", VEERG (B2: M2) -1, -1)));"")}

Selle MAX väärtuse edastate funktsioonile INDEX (). Seejärel loetakse vastav kalendrikuu realt 1 välja. Funktsiooni INDEX () andmeala on ala $ B $ 1: $ M $ 1. Läbitud MAX väärtus - näites 12 - tähendab, et loendis on kaheteistkümnes väärtus, s.t. Dets detsembri kuu kohta:

{= IFERROR(INDEX ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 ""; VEERG (B2: M2) -1; -1)));"")}

Kui tabeli kuuvahemiku kõik lahtrid on tühjad, on suurim väärtus -1 (vt IF () tingimust alguses). Kui väärtus -1 edastatakse funktsioonile INDEX (), toob see paratamatult kaasa veaväärtuse, kuna funktsiooni INDEX () loendi ala sisaldab ainult kaksteist kirjet ja seetõttu ei leia kirjet -1. Selle vea väärtuse saate funktsiooni IFERROR () abil ja tagastate selle asemel tühja stringi. Näites kehtib see rea C toote 4 kohta, kuna selle toote kohta ei saanud enam lepingut sõlmida:

{=IFERROR(INDEX ($ B $ 1: $ M $ 1; MAX (IF (B2: M2 "", COLUMN (B2: M2) -1, -1)));"")}

Kuna see on massiivivalem, lõpetage valemi sisestamine klahvikombinatsiooniga Ctrl + Shift + Enter.