
Bendroji formulė
=SUM(--(MMULT(--(criteria),TRANSPOSE(COLUMN(data)))>0))
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ė G5 yra:
(=SUM(--(MMULT(--(data=90),TRANSPOSE(COLUMN(data)))>0)))
kur duomenys yra įvardytas diapazonas B4: B12.
Pastaba: tai yra masyvo formulė, kurią reikia įvesti su valdymo poslinkio įvedimu.
Paaiškinimas
Dirbant iš vidaus, šioje formulėje naudojami loginiai kriterijai yra šie:
--(data=90)
kur duomenys yra įvardytas diapazonas B4: D12. Tai sukuria TIKRĄ / NETIKRĄ rezultatą kiekvienai duomenų vertei, o dvigubas neigiamas vertė TIESOS NETIESA reikšmes 1 ir 0, kad gautų tokį masyvą:
(1,0,0;0,0,0;0,1,1;1,0,0;0,0,0;0,0,0;0,0,0;0,0,0;0,0,1)
Kaip ir originalus duomenimis, šis masyvas yra 9 eilutės 3 stulpelius (9 x 3) ir eina į MMULT funkcija kaip 1 masyvas .
Masyvas 2 gaunamas su:
TRANSPOSE(COLUMN(data))
Tai sudėtinga ir įdomi šios formulės dalis. Funkcija COLUMN naudojama tiesiog patogumui, kaip būdas sukurti tinkamo dydžio skaitinį masyvą. Norėdami atlikti matricos dauginimą su MMULT, stulpelių skaičius 1 masyve (3) turi būti lygus masyvo 2 eilučių skaičiui .
COLUMN grąžina 3 stulpelių masyvą (2,3,4), o TRANSPOSE pakeičia šį masyvą į 3 eilučių masyvą (2; 3; 4). Tada MMULT paleidžia ir pateikia 9 x 1 masyvo rezultatą:
=SUM(--((2;0;7;2;0;0;0;0;4)>0))
Mes patikriname, ar nėra nulio įrašų su> 0, ir vėl priverčiame TRUE FALSE į 1 ir 0 su dvigubu neiginiu, kad gautume galutinį masyvą SUM viduje:
=SUM((1;0;1;1;0;0;0;0;1))
Šiame paskutiniame masyve 1 reiškia eilutę, kurioje loginis testas (duomenys = 90) grįžo teisingai. Bendra SUM grąžinta suma yra visų eilučių, kuriose yra skaičius 90, skaičius.
Pažodiniame yra
Jei reikia patikrinti, ar nėra konkrečių teksto reikšmių, kitaip tariant, pažodžiui patikrinkite, ar langeliuose yra tam tikrų teksto reikšmių, galite pakeisti logiką šio puslapio formulėje, kad galėtumėte naudoti funkciją ISNUMBER ir SEARCH. Pvz., Norint suskaičiuoti langelius / eilutes, kuriose yra „obuolys“, galite naudoti:
=ISNUMBER(SEARCH("apple",data))
Išsami informacija apie tai, kaip ši formulė veikia čia.