
Bendroji formulė
=SUM(COUNTIF(INDIRECT(("rng1","rng2","rng3")),criteria))
Santrauka
Jei norite naudoti nesusijusio diapazono skaičiavimą su kriterijais, galite naudoti funkciją COUNTIF kartu su INDIRECT ir SUM. Parodytame pavyzdyje I5 langelyje yra ši formulė:
=SUM(COUNTIF(INDIRECT(("B5:B8","D7:D10","F6:F11")),">50"))
Paaiškinimas
COUNTIF skaičiuoja langelių skaičių diapazone, kurie atitinka nurodytus kriterijus. Jei bandysite naudoti COUNTIF su keliais diapazonais, atskirtais kableliais, gausite klaidą. Vienas iš sprendimų yra diapazonų išrašymas kaip masyvo konstantos funkciją NETIESIOGINIS funkcijos viduje:
INDIRECT(("B5:B8","D7:D10","F6:F11"))
INDIRECT įvertins teksto reikšmes ir kelis diapazonus perduos į COUNTIF. Kadangi COUNTIF gauna daugiau nei vieną diapazoną, masyve bus pateikti daugiau nei vienas rezultatas. Mes naudojame SUM funkciją, norėdami „sugauti“ ir tvarkyti masyvą:
=SUM((4,2,3))
Tada funkcija SUM pateikia visų reikšmių sumą 9. Nors tai yra masyvo formulė, jai nereikia TPV, nes mes naudojame masyvo konstantą.
Pastaba: INDIRECT yra nepastovi funkcija ir gali paveikti darbaknygės našumą.
Keli COUNTIF
Kitas būdas išspręsti šią problemą yra naudoti daugiau nei vieną COUNTIF:
=COUNTIF(B5:B8,">50")+COUNTIF(D7:D10,">50")+COUNTIF(F6:F11,">50")
Turint ribotą diapazonų skaičių, šį metodą gali būti lengviau įgyvendinti. Taip išvengiama galimo „INDIRECT“ našumo poveikio ir leidžiama įprasta diapazonų formulės sintaksė, todėl diapazonai bus automatiškai atnaujinami keičiant darbalapį.
Vieno langelio diapazonai
Naudodami vieno langelio diapazonus, galite parašyti formulę be tokio COUNTIF:
=(A1>50)+(C1>50)+(E1>50)
Kiekviena išraiška grąžina TRUE arba FALSE, kai matematikos operacijos metu verčiami į 1 ir nulį. Tai yra loginės logikos naudojimo formulėje pavyzdys.