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