O --
converterá o booleano em seus equivalentes inteiros.
então =SUM(--IFERROR(MID(A1,ROW(A1:A11),1)=MID(A1,LEN(A1)+1-ROW(A1:A11),1),0))
fornece a solução esperada.
como somar o array lógico?
se eu usar =SUM(TRUE,FALSE,TRUE)
, dê 2
Agora, deixe a célula A1 ser abcdea & Eu usei =IFERROR(MID(A1,ROW(A1:A11),1)=MID(A1,LEN(A1)+1-ROW(A1:A11),1),0)
e, em seguida, verifiquei por F9 que dá {TRUE; FALSE; FALSE; FALSE; FALSE; TRUE; 0; 0; 0; 0; 0}
Agora, se eu usar =SUM(IFERROR(MID(A1,ROW(A1:A11),1)=MID(A1,LEN(A1)+1-ROW(A1:A11),1),0))
, dá zero, mas eu esperava 2.
Então, há alguma maneira de somar matrizes lógicas?
Obrigado!
respeita,
Libreoffice: --
não funcionará conforme indicado.
O problema vem da tentativa de matemática em valores booleanos. Na prática, isso é igual a TRUE + TRUE, onde o resultado não pode ser mais do que um único TRUE. ou seja, dois verdadeiros não fazem duplo TRUE em booleano.
Reflita sobre =(1=1)+(2=2)
se você não seguiu ^ isso.
=SUM( IF( MID(A1;ROW(A1:A11);1)=MID(A1;LEN(A1)+1-ROW(A1:A11);1) ;1;0) )
deve funcionar tanto no Excel quanto em qualquer outra coisa.
O mesmo deve ser o caso de:
=SUM( IFERROR( (MID(A1;ROW(A1:A11);1)=MID(A1;LEN(A1)+1-ROW(A1:A11);1))*1 ;0) )
Anote os ;
, substitua-os por ,
dependendo da sua localidade / região
Tags microsoft-excel