„Excel“ formulė: filtras neįtraukia tuščių reikšmių -

Turinys

Bendroji formulė

=FILTER(data,(rng1"")*(rng2"")*(rng3""))

Santrauka

Norėdami filtruoti eilutes su tuščiomis arba tuščiomis langeliais, galite naudoti funkciją FILTER su logine logika. Parodytame pavyzdyje formulė F5 yra:

=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))

Išvestyje yra tik eilutės iš šaltinio duomenų, kur visi trys stulpeliai turi vertę.

Paaiškinimas

Funkcija FILTRAS sukurta norint išgauti duomenis, atitinkančius vieną ar daugiau kriterijų. Šiuo atveju norime taikyti kriterijus, reikalaujančius, kad visi trys šaltinio duomenų stulpeliai (pavadinimas, grupė ir kambarys) turėtų duomenis. Kitaip tariant, jei eilutėje nėra nė vienos iš šių reikšmių, norime iš eilės išskirti tą eilutę.

Norėdami tai padaryti, mes naudojame tris logines išraiškas, veikiančias masyvuose. Pirmieji tuščių pavadinimų išraiškos testai:

B5:B15"" // check names

Ne operatorius () su tuščia eilute ("") reiškia "ne tuščias". Kiekvieno langelio diapazone B5: B15 rezultatas bus TRUE arba FALSE, kur TRUE reiškia „ne tuščia“, o FALSE - „tuščia“. Kadangi diapazone yra 11 langelių, gauname 11 rezultatų iš tokio masyvo:

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

Antrasis tuščių grupių išraiškos testas:

C5:C15"" // check groups

Vėlgi, mes tikriname 11 langelių, taigi gauname 11 rezultatų:

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

Galiausiai patikriname, ar nėra tuščių kambarių numerių:

D5:D15"" // check groups

kuris gamina:

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

Kai matricos, gautos iš trijų aukščiau pateiktų išraiškų, padauginamos kartu, matematikos operacija PATIKIMOSIOS ir NETIESOS reikšmės priverčia 1s ir 0s. Šiuo atveju naudojame dauginimą, nes norime įgyvendinti logiką „IR“: išraiška1 IR išraiška2 IR išraiška3. Kitaip tariant, visi trys posakiai tam tikroje eilutėje turi grąžinti TRUE.

Laikantis loginės logikos taisyklių, galutinis rezultatas yra toks masyvas:

(1;0;1;0;1;1;1;0;0;0;1)

Šis masyvas pristatomas tiesiai į funkciją FILTRAS kaip argumentą „įtraukti“. Filtras apima tik 6 eilutes, kurios atitinka 1s galutiniame išvestyje.

Įdomios straipsniai...