função Excel SUMIF

1

Eu tenho esta planilha do Excel onde eu preciso calcular as taxas de transporte.

Eu tenho uma tabela de preços para dois tipos de caminhões (grandes e pequenos) para diferentes destinos - todos com preços diferentes. Assim:

City    Big Lorry   Small Lorry
City A  1000        1150
City B  1800        1950
City C  2600        2750
City D  3900        3950

Agora, em uma tabela diferente, quero inserir o camião e o destino, e o Excel deve preencher automaticamente o preço de acordo com a tabela acima. Assim:

City    Lorry   Price
City A  Small   
City D  Big 
City C  Big 
City B  Small   
City D      Small
City A      Big

Por favor, veja o link para o OneDrive onde carreguei o arquivo do Excel para que seja fácil entender o que eu preciso.

Arquivo Excel

Obrigado.

    
por Inscrutable 25.02.2014 / 12:49

3 respostas

1

Você pode fazer isso em uma única etapa com o Excel e não precisa do SumIf. Basta usar a seguinte fórmula na sua coluna Preço =VLOOKUP(A9,$A$2:$C$5,IF(B9="Small",3,2),FALSE) . Isso procurará o valor da Cidade em sua primeira coluna e, em seguida, retornará o preço apropriado com base no tamanho do caminhão.

Isso pressupõe (como seus dados de amostra) que existem apenas dois preços (para caminhões grandes e pequenos) e que cada cidade ocorre apenas uma vez na segunda tabela. Se essas suposições não forem verdadeiras, atualize seus dados de exemplo.

    
por 25.02.2014 / 13:56
0

Isso é feito melhor com um VLOOKUP, mas será um pouco mais complicado do que a sua variedade de jardim VLOOKUP enquanto você está olhando para duas colunas de dados.

Embora isso possa ser feito em uma única etapa, é menos prova do futuro, como se mais tamanhos fossem adicionados, você teria que atualizar a fórmula e ela poderia se tornar bastante desinteressante.


Etapa 1
O VLOOKUP precisará procurar um único valor para encontrar na tabela de destino, mas você está procurando por dois. Para corrigir isso, você precisará de uma coluna auxiliar e, como o VLOOKUPS é iniciado à esquerda do intervalo de dados selecionado, ele deverá ser a primeira coluna da sua tabela.

  • Na sua tabela de origem, adicione uma coluna à esquerda (certifique-se de que sua tabela range inclui a nova coluna se você estiver usando 2007 >)

  • Supondo que esta nova coluna está na coluna A, e o tamanho está em B e o destino está em C, adicione essa fórmula a ele, copiando-o intervalo:

=CONCATENATE($B2,$C2)

ou

=CONCATENATE([@Size],[@Distance])

Você também pode fazer =$B2&$C2 , mas é mais fácil para outros usuários entenderem

  • Se preferir, você pode ocultar esta coluna


Etapa2
Emseguida,éhoradoVLOOKUP.

AssumindoqueotamanhoestáemAeodestinoestáemB,nacélulaquevocêquerqueovalorsejaretornado,adicioneestafórmula:

=VLOOKUP(CONCATENATE($A$2,$B$2),SourceTable,4,FALSE)

Sevocênãoestiverusandotabelas,substituaoSourceTable(ouqualquernomequevocêtenhachamado)comointervalodatabeladeorigem.Observequeo4representaquantascolunasovalordesejadoé.

    
por 25.02.2014 / 13:33
0

Você pode aninhar SUMIF dentro de uma instrução IF.

=IF(B1="Big",SUMIF(Sheet1!A2:A5,A1,Sheet1!B2:B5),IF(B1="Small",SUMIF(Sheet1!A2:A5,A1,Sheet1!C2:C5),"Invalid Name"))

=IF(Size="Big",SUMIF(City List,City,Big Cost),IF(Size="Small",SUMIF(City List,City,Small Cost),"Invalid Name"))

A1 = City
B1 = tamanho do camião


Idealmente, na tabela de origem, eu teria uma coluna para tamanho em vez de duas colunas de custo. Isso permitiria que SUMIF ou VLOOKUP funcionem normalmente.
CityA Small 1500
CityA Grande 1800
CityB Pequeno 1350
CityB Large 1600

    
por 07.11.2018 / 03:37