excel - dei.isep.ipp.ptdei.isep.ipp.pt/~asilva/excel_somas_condicionais_sumproduct_v2.pdf ·...

2
Excel Somas condicionais avançadas A forma usual de realizar somas condicionais em Excel implica o uso da função SUMIF. Por exemplo, para, na tabela abaixo, se obter o total de horas trabalhadas pelo funcionário Manuel, a fórmula a usar seria =SUMIF(E4:E14;“Manuel”;F4:F14) sendo que, o primeiro parâmetro é a gama de células em que o critério será aplicado, o 2º será o critério propriamente dito e o 3º será a gama de células em que a soma condicional será efectuada. Mas, caso pretendamos efectuar uma soma condicional com um critério mais complexo, envolvendo duas ou mais subcondições, a função SUMIF é já inadequada. Nesses casos, a função SUMPRODUCT, usada normalmente com outra finalidade, torna-se muito útil. Referindo- nos, ainda, à tabela acima, vejamos como obter o total de horas trabalhado pela mesma pessoa (Manuel) especificamente para o projecto X1. Usando a função SUMPRODUCT, a fórmula seria =SUMPRODUCT((E4:E14=“Manuel”)*(D4:D14=“X1”)*(F4:F14)) Analizemos em detalhe a fórmula: O 1º parâmetro especifica a 1ª condição, ou seja, que as células contidas na gama E4:E14 contenham “Manuel”. O 2º parâmetro especifica a 2ª condição, ou seja, que as células contidas na gama E4:E14 contenham “X1”. O 3º parâmetro especifica qual a gama de células em que a soma condicional se vai fazer. Nessa gama, sómente as células situadas em linhas que obedeçam simultaneamente às duas condições especificadas serão somadas. Outro exemplo de soma condicional com critério múltiplo seria o de calcular o total de horas trabalhado por Manuel até ao dia "10-6-2003". Nessa caso, a fórmula seria =SUMPRODUCT((E4:E14=E4)*(C4:C14<DATEVALUE("10-6-2003"))*(F4:F14)) Foi preciso nesta fórmula converter a data para o formato numérico com que o Excel representa

Upload: vodung

Post on 26-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

ExcelSomas condicionais avançadas

A forma usual de realizar somas condicionais em Excel implica o uso da função SUMIF. Porexemplo, para, na tabela abaixo, se obter o total de horas trabalhadas pelo funcionário Manuel, afórmula a usar seria

=SUMIF(E4:E14;“Manuel”;F4:F14)

sendo que, o primeiro parâmetro é a gama de células em que o critério será aplicado, o 2º será ocritério propriamente dito e o 3º será a gama de células em que a soma condicional seráefectuada.

Mas, caso pretendamos efectuar uma soma condicional com um critério mais complexo,envolvendo duas ou mais subcondições, a função SUMIF é já inadequada. Nesses casos, afunção SUMPRODUCT, usada normalmente com outra finalidade, torna-se muito útil. Referindo-nos, ainda, à tabela acima, vejamos como obter o total de horas trabalhado pela mesma pessoa(Manuel) especificamente para o projecto X1. Usando a função SUMPRODUCT, a fórmula seria

=SUMPRODUCT((E4:E14=“Manuel”)*(D4:D14=“X1”)*(F4:F14))

Analizemos em detalhe a fórmula:

O 1º parâmetro especifica a 1ª condição, ou seja, que as células contidas na gama E4:E14contenham “Manuel”. O 2º parâmetro especifica a 2ª condição, ou seja, que as células contidasna gama E4:E14 contenham “X1”. O 3º parâmetro especifica qual a gama de células em que asoma condicional se vai fazer. Nessa gama, sómente as células situadas em linhas queobedeçam simultaneamente às duas condições especificadas serão somadas.

Outro exemplo de soma condicional com critério múltiplo seria o de calcular o total de horastrabalhado por Manuel até ao dia "10-6-2003". Nessa caso, a fórmula seria

=SUMPRODUCT((E4:E14=E4)*(C4:C14<DATEVALUE("10-6-2003"))*(F4:F14))

Foi preciso nesta fórmula converter a data para o formato numérico com que o Excel representa

internamente datas. Para tal, foi usada a função DATEVALUE.

Repare-se ainda que a função SUMPRODUCT permite a utilização de um número muito longo desub-condições pelo que é possível construir critérios arbitrariamente complexos.

Com esta função é ainda possível efectuar contagens condicionais com critérios múltiplos. Se porexemplo se eliminar da fórmula acima o 3º parâmetro (que especifica a gama onde a somacondicional se fará), o resultado obtido é o do nº de dias trabalhados por aquele fucnionário até àdata em causa, ou seja, estamos perante uma contagem condicional que não seria possível comum vulgar COUNTIF:

=SUMPRODUCT((E4:E14=E4)*(C4:C14<DATEVALUE("10-6-2003")))

Finalmente, apresenta-se um exemplo de uma aplicação da função SUMPRODUCT a uma casotípico de soma de produtos. Considere-se a folha de cálculo abaixo:

Pretende-se com ela calcular as notas obtidas por cada aluno num dado teste, sabendo-se queas classificações das várias alíneas estão dadas em percentagem e as respectivas cotações seencontram nas células C20 a K20. Assim, cada nota será calculada por uma soma de productos,representando cada produto a cotação obtida numa dada alínea (por exemplo, a cotação obtidapelo aluno com o nº 205004 na alínea 2 será 3*20%). A forma mais expedita e flexível deconstruir a fórmula de cálculo da nota será usar a função SUMPRODUCT, desta vez usadaapenas para o cálculo de soma de produtos:

=SUMPRODUCT((C11:K11)*($C$20:$K$20)) (1)

(1) – Estas fórmulas foram testadas na versão Excel 2000. A última fórmula não funciona noExcel 2003. Neste caso há que substituir o asterisco (*) por um ponto e vírgula.

[ Versão corrigida a 16/5/2005 ]

António Silva, Junho de 2004ISEP, Departamento de Informática