SUM da matriz lógica

0

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,

    
por Hemant Rupani 21.03.2015 / 18:02

2 respostas

0

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.

    
por 21.03.2015 / 18:31
0

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

    
por 21.03.2015 / 19:03