Vou tentar o meu melhor para explicar. Digamos que eu tenha uma planilha parecida com esta (neste exemplo elaborado, digamos que estou enviando e-mails de marketing para várias pessoas, conheço suas idades e códigos postais e desejo acompanhar as taxas de cliques nesses e-mails):
A | B | C
1 Age | zip code | click?
2 26 | 11111 | true
3 27 | 11112 | true
4 28 | 11111 | false
5 27 | 22222 | false
6 28 | 11112 | false
7 26 | 22222 | true
Agora eu quero acompanhar várias estatísticas. Nesse caso, desejo acompanhar a taxa de cliques por idade e código postal. Então, eu tenho uma tabela como esta:
E F G
1 Age | # sent | # clicked
2 26 |
3 26 |
4 27 |
5 28 |
Então, basicamente, na coluna "# enviado", posso colocar (em F2, por exemplo):
=COUNTIF(A:A, E2)
E isso resultaria em um 2 na célula F2, porque houve duas ocorrências de "26" na coluna A.
Mas agora e se eu quiser saber quantos cliques? Eu quero dizer algo como:
=COUNTIF(A:A == E2 AND C:C == True, for the same row where A:A matched E2)
Eu sei que posso adicionar outra coluna D com uma fórmula como
=IF(C2, A2, "")
Qual será apenas a idade na coluna D se a coluna C for verdadeira. Mas posso ter potencialmente muitos critérios e não parece que eu precise adicionar outra coluna "falsa" para cada coluna de critérios que tenho.
Existe uma maneira de fazer isso? Se não estiver no Google Docs, no Excel?
fonte
Respostas:
Use uma combinação das operações ARRAYFORMULA, SUM e aritmética
Aqui está a função de contar todos os cliques aos 26 anos:
Existem 3 partes para esta operação.
Essencialmente, true está sendo convertido em 1 e false está sendo convertido em 0. A lógica booleana é feita usando operações aritméticas.
Uma operação AND usa multiplicação:
Uma operação OR usa uma combinação da função e adição * SIGN :
Nota: A função de sinal é necessária devido ao modo como a adição booleana funciona de maneira diferente da adição aritmética. Basicamente, na adição booleana 1 + 1 = 1, na adição aritmética 1 + 1 = 2. Obviamente, a adição aritmética atrapalha a contagem, portanto, você precisa executar os resultados das operações de adição por meio de uma função de sinal. A função de sinal retorna 1 se o valor for positivo, 0 se o valor for 0 e -1 se o valor for negativo.
Digamos que você queira contar os cliques para todos os usuários entre 20 e 25 anos:
fonte
both
20 e 23, por exemplo, portanto a adição nunca forneceria um valor> 1 nesse caso. SIGN é necessário apenas se as condições não forem mutuamente exclusivas. Também entre 20 e 25 não seria mais fácil com esta versão?=arrayformula(sum((A:A>=20)*(A:A<=25)*(C:C=TRUE)))
A partir de agora, as novas Planilhas Google suportam COUNTIFS, que podem lidar diretamente com o trabalho necessário.
=COUNTIFS(A:A, E2, C:C, "true")
Liste todos os intervalos e a comparação a serem separados por vírgulas.
fonte
No Excel, eu usaria SUMPRODUCT no Excel 2003 ou COUNTIFS (com um "S") no Excel 2007 ou posterior ....... mas no Google Docs tente isso
=arrayformula(sum((A:A=E2)*(C:C=TRUE)))
fonte
Isso foi para duas colunas - estou usando isso para minha lista de convidados do casamento - nesse caso, tabulando "Sim" ao enviar uma data salva e "EUA" para localização, para que eu possa calcular a postagem mais tarde. Pode haver uma fórmula mais curta, mas isso parece funcionar, então não estou mexendo com ela!
Feliz contando.
fonte
No Excel, eu esquecia fórmulas e usava tabelas dinâmicas.
Pode ser necessário adicionar uma coluna "contador", que pode ser usada repetidamente como a variável que você soma para obter resultados.
fonte
Você pode adicionar a matriz que deseja testar em {}.
No exemplo abaixo:
fonte