
Vispārēja formula
=SUMPRODUCT(--((ISNUMBER(FIND("abc",rng)) + ISNUMBER(FIND("def",rng)))>0))
Kopsavilkums
Lai uzskaitītu šūnas, kurās ir vai nu x, vai y, varat izmantot formulu, kuras pamatā ir funkcija SUMPRODUCT. Parādītajā piemērā formula šūnā F5 ir:
=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11))+ISNUMBER(FIND("def",B5:B11)))>0))
Tas ir vienas šūnas formulas šķīdums, kas paskaidrots turpmāk. Ir iespējams izmantot arī vienkāršāku formulu, kuras pamatā ir palīgkolonna, kas arī paskaidrota tālāk.
Paskaidrojums
Kad jūs skaitāt šūnas ar “OR logic”, jums jābūt uzmanīgam, lai neskaitītu dubultā. Piemēram, ja jūs skaitāt šūnas, kurās ir "abc" vai "def", jūs nevarat vienkārši pievienot divas COUNTIF funkcijas, jo jūs varat dubultot šūnas, kurās ir gan "abc", gan "def".
Vienšūnas šķīdums
Atsevišķai formulai varat izmantot SUMPRODUCT ar ISNUMBER + FIND. Formula F5 ir:
=SUMPRODUCT(--((ISNUMBER(FIND("abc",B5:B11)) + ISNUMBER(FIND("def",B5:B11)))>0))
Šī formula ir balstīta uz šeit izskaidroto formulu, kas atrod tekstu šūnā:
ISNUMBER(FIND("abc",B5:B11)
Piešķirot šūnu diapazonu, šis fragments atgriezīs vērtību TRUE / FALSE masīvu, pa vienai vērtībai katrai diapazona šūnai. Tā kā mēs to izmantojam divreiz (vienu reizi "abc" un vienu reizi "def"), mēs iegūsim divus masīvus.
Tālāk mēs pievienojam šos masīvus kopā (ar +), kas izveido jaunu atsevišķu skaitļu masīvu. Katrs skaitlis šajā masīvā ir rezultāts, pievienojot TRUE un FALSE vērtības sākotnējos divos masīvos kopā. Parādītajā piemērā iegūtais masīvs izskatās šādi:
(2;0;2;0;1;0;2)
Mums šie skaitļi jāsaskaita, bet mēs nevēlamies dubultot skaitīšanu. Tāpēc mums jāpārliecinās, ka jebkura vērtība, kas lielāka par nulli, tiek skaitīta tikai vienu reizi. Lai to izdarītu, mēs piespiežam visas vērtības uz TRUE vai FALSE ar “> 0”, pēc tam piespiežam uz 1/0 ar dubultnegatīvu (-).
Visbeidzot, SUMPRODUCT atgriež visu masīva vērtību summu.
Palīgs kolonnas risinājums
Izmantojot palīgkolonnu, lai pārbaudītu katru šūnu atsevišķi, problēma nav tik sarežģīta. Mēs varam izmantot COUNTIF ar divām vērtībām (paredzētas kā "masīva konstante"). Formula C5 ir:
=--(SUM(COUNTIF(B5,("*abc*","*def*")))>0)
COUNTIF atgriezīs masīvu, kas satur divus vienumus: “abc” un “def”. Lai novērstu dubultu skaitīšanu, mēs saskaitām vienumus un pēc tam piespiežam rezultātu uz TRUE / FALSE ar “> 0”. Visbeidzot, mēs TRUE / FALSE vērtības konvertējam uz 1 un 0 ar dubultu negatīvu (-).
Gala rezultāts ir vai nu 1, vai 0 katrai šūnai. Lai iegūtu visu diapazona šūnu kopsummu, vienkārši summējiet palīga kolonnu.