Fonction Excel SUMIF


1

J'ai cette feuille de calcul Excel où je dois calculer les taux de transport.

J'ai un tableau des tarifs pour 2 types de camions (petits et grands) vers différentes destinations, le tout à des prix différents. Comme ça:

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

Maintenant, dans un tableau différent, je veux entrer le camion et la destination, et Excel devrait automatiquement renseigner le prix conformément au tableau ci-dessus. Comme ça:

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

Veuillez consulter le lien vers OneDrive où j'ai téléchargé le fichier Excel afin de comprendre facilement ce dont j'ai besoin.

Fichier Excel

Merci.


1
Le but de ce site est de fournir des réponses qui non seulement vous aident, mais aident également les autres personnes aux prises avec le même problème. Pouvez-vous s'il vous plaît ajouter tous les détails de ce que vous essayez d'atteindre ici plutôt que de créer un lien vers votre classeur?
CLockeWork

Tu as raison, désolé. J'ai édité et essayé de mieux expliquer. Merci.
Inscrutable le

Désolé @ Inscrutable, mais ce n'est vraiment pas plus clair. Demandez-vous simplement comment écrire une formule SUMIF?
CLockeWork

@Inscrutable Écrivez vos données d'entrée dans votre question, ainsi que le résultat attendu. Formatez-le en tant que code pour qu'il soit lisible.
Jan Doggen

Réponses:


1

Vous pouvez le faire en une seule étape avec Excel et vous n'avez pas besoin de SumIf. Utilisez simplement la formule suivante dans votre colonne Prix =VLOOKUP(A9,$A$2:$C$5,IF(B9="Small",3,2),FALSE). Ceci recherchera la valeur Ville dans votre première colonne, puis renverra le prix approprié en fonction de la taille du camion.

Ceci suppose (comme vos données d'échantillon) qu'il n'y a que deux prix (pour les gros et petits camions) et que chaque ville n'apparaît qu'une seule fois dans le deuxième tableau. Si ces hypothèses ne sont pas vraies, veuillez mettre à jour vos données d'exemple.


Merci, j'ai copié avec succès la formule. Cependant, il n'y a effectivement que 2 prix, mais chaque ville apparaît plus d'une fois dans le second tableau. J'ai mis à jour le code ci-dessus pour refléter cela. Mais même si la formule fonctionne toujours! Hourra!
Inscrutable le

0

Ceci est mieux fait avec un VLOOKUP, mais ce sera un peu plus compliqué que votre variété de jardin VLOOKUP puisque vous consultez deux colonnes de données.

Bien que cela puisse être fait en une étape, cela est moins prévisible, car si vous ajoutez plusieurs tailles, vous devrez mettre à jour la formule, ce qui risque de devenir très délicat.


Étape 1
Le VLOOKUP devra rechercher une valeur unique à rechercher dans la table cible, mais vous en recherchez deux. Pour résoudre ce problème, vous aurez besoin d'une colonne d'assistance et, comme VLOOKUPS commence à gauche de la plage de données sélectionnée, il devra être la première colonne de votre tableau.

  • Dans votre table source, ajoutez une colonne à gauche (assurez-vous que la plage de la table inclut la nouvelle colonne si vous utilisez 2007>).

  • En supposant que cette nouvelle colonne est dans la colonne A, et que la taille est dans B et que la destination est en C, ajoutez-y cette formule, en la copiant dans la plage:

= CONCATENER (B2 $, C2 $)

ou

= CONCATENER ([@ Taille], [@ Distance])

Vous pouvez également le faire, =$B2&$C2mais cela est plus facile à comprendre pour les autres utilisateurs.

  • Si vous préférez, vous pouvez maintenant masquer cette colonne

Étape 1


Étape 2
Ensuite, le moment est venu pour le VLOOKUP.

En supposant que la taille est en A et la destination en B, dans la cellule vous souhaitez que la valeur soit renvoyée, ajoutez cette formule:

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

Si vous n'utilisez pas de tables, remplacez SourceTable (ou le nom de votre choix) par la plage de la table source. Notez que le 4 représente le nombre de colonnes de la valeur souhaitée.

Étape 2


0

Vous pouvez imbriquer SUMIF dans une déclaration 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 = Ville
B1 = Taille du camion


Idéalement, dans la table source, j'aurais une colonne pour la taille au lieu de deux colonnes de coûts. Cela permettrait à SUMIF ou à VLOOKUP de fonctionner normalement.
CityA Small 1500
CityA Large 1800
CityB Petit 1350
CityB Grand 1600

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.