
Bendroji formulė
(=SUM(--(MMULT(--(criteria),TRANSPOSE(COLUMN(data)^0))>=N)))
Santrauka
Norėdami suskaičiuoti eilutes, kuriose yra konkrečių reikšmių, galite naudoti masyvo formulę, pagrįstą funkcijomis MMULT, TRANSPOSE, COLUMN ir SUM. Parodytame pavyzdyje formulė K6 yra:
(=SUM(--(MMULT(--((data)=2)))
kur duomenys yra įvardytas diapazonas C5: I14.
Atkreipkite dėmesį, kad tai yra masyvo formulė ir ją reikia įvesti su valdymo poslinkio įvedimu.
Paaiškinimas
Dirbant iš vidaus, šioje formulėje naudojami loginiai kriterijai yra šie:
(data)<70
kur duomenys yra įvardytas diapazonas C5: I14. Tai sukuria TIKRĄ / NETIKRĄ rezultatą kiekvienai duomenų vertei, o dvigubas neigiamas vertė TIESOS NETIESA reikšmes 1 ir 0, kad gautų tokį masyvą:
(0,0,0,1,0,1,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0;0,1,1,0,0,1,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0;0,1,0,0,0,0,0;0,0,0,0,0,0,0;0,0,0,0,0,0,0)
Kaip ir originalus duomenimis, šis masyvas yra 10 eilutės 7 stulpelių (10 x 7) ir patenka į MMULT funkcija kaip 1 masyvas . Kitas argumentas, masyvas2 sukurtas su:
TRANSPOSE(COLUMN(data)^0))
Čia funkcija COLUMN naudojama kaip būdas sukurti tinkamo dydžio skaitinį masyvą, nes matricos dauginimui reikia, kad stulpelių skaičius masyve1 (7) būtų lygus masyvo2 eilučių skaičiui .
Funkcija COLUMN pateikia 7 stulpelių masyvą (3,4,5,6,7,8,9). Padidinę šį masyvą iki nulio galios, gauname 7 x 1 masyvą, panašų į (1,1,1,1,1,1,1), kurį TRANSPOSE pakeičia į 1 x 7 masyvą (1; 1 ; 1; 1; 1; 1; 1).
Tada MMULT vykdo ir pateikia 10 x 1 masyvo rezultatą (2; 0; 0; 3; 0; 0; 0; 1; 0; 0), kuris apdorojamas su logine išraiška> = 2, gaunant TIKRŲ masyvą. FALSE vertės:
(TIKRA; NETIESA; NETIESA; TIESA; NETIESA; NETIESA; NETIESA; NETIESA; NETIESA; NETIESA).
Mes vėl priverčiame TRUE FALSE į 1 ir 0 su dvigubu neiginiu, kad gautume galutinį masyvą SUM viduje:
=SUM((1;0;0;1;0;0;0;0;0;0))
Kuris teisingai grąžina 2, vardų, kurių bent 2 balai yra mažesni nei 70, skaičius.