Pergunta

Efetivamente, quero atribuir pontuações numéricas às notas alfabéticas e somá-las.No Excel, colocando o LOOKUP função em uma fórmula de matriz funciona:

{=SUM(LOOKUP(grades, scoringarray))}

Com o VLOOKUP função isso não funciona (só obtém a nota da primeira série).O Planilhas Google não parece ter o LOOKUP função e VLOOKUP falha da mesma maneira usando:

=SUM(ARRAYFORMULA(VLOOKUP(grades, scoresarray, 2, 0)))

ou

=ARRAYFORMULA(SUM(VLOOKUP(grades, scoresarray, 2, 0)))

É possível fazer isso (mas estou com a sintaxe errada)?Você pode sugerir um método que permita fazer o cálculo em uma célula simples como esta, em vez de ocultar as pesquisas em outro lugar e somá-las posteriormente?

Foi útil?

Solução 3

Ainda não consigo ver as fórmulas do seu exemplo (apenas valores), mas é exatamente isso que estou tentando fazer em termos de resultado;obviamente já posso fazer isso "ao lado" e somar separadamente - o segredo para mim é fazer isso em uma célula.

Voltei a examiná-lo esta manhã - usando o MATCH função para a pesquisa funciona em uma fórmula de matriz.Mas então o INDEX função não.Eu também tentei usá-lo com OFFSET e INDIRECT sem sucesso.finalmente, o CHOOSE A função não parece aceitar um intervalo de células como sua lista para escolher - o intervalo é degradado para um único valor (a primeira célula do intervalo).Deve-se notar também que CHOOSE A função aceita apenas 30 valores para escolher (de acordo com a documentação).Tudo muito chato.No entanto, agora tenho uma solução funcional em uma célula:usando o CHOOSE função e listando explicitamente as células de resultado, uma por uma, nos argumentos como este:

=ARRAYFORMULA(SUM(CHOOSE(MATCH(D1:D8,Lookups!$A$1:$A$3,0),
                                     Lookups!$B$1,Lookups!$B$2,Lookups!$B$3)))

Obviamente, isso não se estende muito bem, mas espero que as tabelas de pesquisa sejam bastante fixas por natureza.Para tabelas de pesquisa maiores, é difícil digitar todas as células individualmente e algumas pessoas podem exceder o limite de 30 células.

Eu certamente receberia uma solução mais elegante!

Outras dicas

Receio que a resposta seja não.Do texto de ajuda emhttp://docs.google.com/support/spreadsheets/bin/answer.py?answer=71291&query=arrayformula&topic=&type=

O verdadeiro poder de ARRAYFORMULA vem quando você pega o resultado de um desses cálculos e o envolve em uma fórmula que aceita argumentos de array ou intervalo:SOMA, MAX, MIN, CONCATENAR,

Como o vlookup leva uma única célula para pesquisar (no primeiro argumento), não acho que você consiga fazê-lo funcionar sem usar um intervalo separado de pesquisas.

As planilhas do Google não parecem ter a função LOOKUP

Presumivelmente não naquela época, mas agora tem:

SO27774 example

grades Folha1!A2:A4
scoringarray Folha1!A2:B4

Eu sei que este tópico é bastante antigo, mas eu estava lutando com esse mesmo problema há algum tempo.Finalmente encontrei uma solução (bem, Frankenstiened uma juntos).É apenas um pouco mais elegante, mas deve ser capaz de trabalhar com grandes conjuntos de dados sem problemas.

A solução usa o seguinte:

=ARRAYFORMULA(SUM(INDIRECT(ADDRESS(MATCH(), MATCH())))

como substituto da função vlookup.

Espero que isso ajude alguém!

você pode fazer isso facilmente codificando-o na tabela VR:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, {{"A", 6};
                                         {"B", 5};
                                         {"C", 4};
                                         {"D", 3};
                                         {"E", 2};
                                         {"F", 1}}, 2, 0)), ))

0

ou você pode usar algumas células laterais com regras:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, E2:F, 2, 0)), ))

6


alternativas: https://webapps.stackexchange.com/a/123741/186471

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top