=COUNTIFS(F3:K11, "Math", F4:K12, "1a")
que já foi apresentado por fitch496 , é um bom começo.
(Nota: algumas localidades usam ;
para separar parâmetros de funções; outros usam ,
.)
Tem um problema possível:
ele irá contar pares de células onde "Math" está em uma linha par,
e “1a” está abaixo em uma linha ímpar.
(Embora a questão não fale sobre esse problema,
a ilustração sugere que tais pares não devem ser contados.)
Para resolver esse problema, comecei traduzindo a fórmula acima
em um que produz o mesmo resultado, mas usando SUMPRODUCT
:
=SUMPRODUCT(--(F3:K11="Math"), --(F4:K12="1a"))
Aqui usamos os truques padrão de preceder uma expressão booleana por --
para transformar TRUE em 1 e FALSE em 0,
e usando a multiplicação implícita de SUMPRODUCT
como AND lógico.
Então eu estendi isso para
=SUMPRODUCT(--(F3:K11="Math"), --(F4:K12="1a"), --(MOD(ROW(F3:K11),2)=1))
para testar que "Math" apareceu em uma linha ímpar ( MOD(ROW(…),2)=1
).
Isso falhou
porque o Excel parece tratar ROW(F3:K11)
como o mesmo que ROW(3:11)
,
produzindo uma matriz linear de 9 valores
em vez de uma matriz retangular de 54 valores.
(IMNSHO, isso é um bug no Excel.)
Eu descobri que eu poderia consertar isso
forçando-o a levar as colunas em consideração, ignorando-as:
=SUMPRODUCT(--(F3:K11="Math"), --(F4:K12="1a"), --(MOD(ROW(F3:K11)+0*COLUMN(F3:K11),2)=1))
que avalia o número da coluna de cada célula ( COLUMN(…)
)
e depois multiplica por 0.
Isso funciona.
A ilustração abaixo é a mesma dos dados do OP na pergunta,
mas com a adição de "Math" e "1a" nas células J8
e J9
.
fitch496 COUNTIFS
formula (que incluo no topo da minha resposta)
e minha simples fórmula SUMPRODUCT
ambos contam este “Math 1a” desalinhado e produzem um total de 3;
minha fórmula SUMPRODUCT
final ignora o desalinhado "Math 1a"
e produz um total de 2.
(Vejaafontedestepostparaumacópiaamigávelcopiarecolardositensacima.)
Minhafórmulapodesersimplificadaumpouco:
--(MOD(rownumber,2)=1)
levaonúmerodalinhamodulo2etestaseéiguala1.Sefor,otestedecomparaçãoproduzumVERDADEIRO,queéconvertidoem1por--
.Nãoé1,deveser0;acomparaçãopara1produzumFALSE,queéconvertidoem0por--
.Podemosdispensarasoperaçõeslógicas(testandoaqualidadee,emseguida,aplicando--
aoresultadobooleano)euseapenasMOD(rownumber,2)
.--(Boolean)
ésimplesmente-(-(Boolean))
.Omaisinterno-
converteTRUEem1eFALSEem0,masdepoistransforma1em-1.Entãoo%externo-
converte-1para1.Jáqueestamoslevandooprodutodedoisfatores--
,os-
sexternosseanulam,entãopodemosomiti-los.
Portanto,afórmulafinalesimplificadaé
=SUMPRODUCT(-(F3:K11="Math"), -(F4:K12="1a"), MOD(ROW(F3:K11)+0*COLUMN(F3:K11),2))