Comment utiliser : Formule Excel vers Python
- Collez une formule Excel ou Google Sheets, ou choisissez-en une dans Exemples.
- Choisissez le langage cible : la page démarre avec Python, et vous pouvez changer à tout moment.
- Renommez les références de cellules détectées par des noms de variables explicites, par exemple
B2→price. - Choisissez une fonction complète ou l'expression seule, puis copiez ou téléchargez le code. Les fonctions auxiliaires sont ajoutées automatiquement lorsqu'une formule en a besoin.
Transférer la logique d'un tableur vers Python
Les équipes data reconstruisent régulièrement des modèles Excel en Python : pour automatiser un rapport mensuel, alimenter un pipeline pandas ou intégrer un calcul derrière une API. Ressaisir les formules est lent et risqué, car Python et Excel divergent sur des points comme l'arrondi ou la comparaison de texte. Ce convertisseur analyse la formule selon les règles de priorité propres à Excel et produit un code Python équivalent et lisible.
=SUMIFS(D2:D100, B2:B100, "North", C2:C100, ">=1000")
def calculate(d2_d100, b2_b100, c2_c100):
return sum_ifs(d2_d100, b2_b100, 'North', c2_c100, '>=1000')
La fonction auxiliaire sum_ifs() (ainsi que la fonction matches_criteria() qu'elle utilise) est incluse au-dessus de la fonction principale, de sorte que le code s'exécute tel quel.
Correspondance entre les fonctions Excel et Python
| Excel | Python |
|---|---|
IF(c, a, b) | a if c else b |
IFS / SWITCH | expressions conditionnelles enchaînées |
AND, OR, NOT | and, or, not |
= et <> | == et != |
a & b | str(a) + str(b) |
a ^ b | a ** b |
SUM(A2:A10) | sum(a2_a10) |
ROUND(x, 2) | fonction auxiliaire excel_round() — et non round() |
MOD(a, b) | a % b |
SUMIFS / COUNTIF… | fonctions auxiliaires sum_ifs(), count_if() |
VLOOKUP / XLOOKUP | fonctions auxiliaires vlookup(), xlookup() |
IFERROR(x, y) | if_error(lambda: x, y) |
LEFT / MID / LEN | slicing, len() |
TODAY() / NOW() | date.today(), datetime.now() |
Pièges gérés par le convertisseur
- Arrondi du banquier. En Python,
round(2.5)renvoie 2 etround(0.125, 2)renvoie 0.12 ; Excel donne 3 et 0.13. Le code produit utilise une fonction auxiliaireexcel_round()basée surDecimalavecROUND_HALF_UP. - Concaténation.
"Total : " + 5provoque uneTypeErroren Python ; chaque opérande non textuel de&est donc encapsulé dansstr(). - IF est une expression.
IFdevient l'expression conditionnelle de Python (a if c else b), et les IF imbriqués s'enchaînent naturellement. - Division entière. Le
/de Python 3 renvoie toujours un flottant, comme dans Excel. - Erreurs.
IFERRORdevientif_error(lambda: …, fallback), qui intercepte lesZeroDivisionError, lesLookupErrorissues des recherches et les autres exceptions. - Dates.
DATE,TODAYetYEARcorrespondent au moduledatetime. Excel corrige automatiquement les dates invalides (mois 13) ; Python lève une erreur, et le convertisseur vous en avertit.
Utilisation avec pandas
Les fonctions générées travaillent sur des valeurs scalaires et des listes. Pour appliquer une formule ligne par ligne à un DataFrame, appelez-la avec df.apply(lambda r: calculate(r.price, r.qty), axis=1) ; pour les agrégats comme SUMIFS, les masques booléens de pandas (df.loc[(df.region == 'North') & (df.total >= 1000), 'amount'].sum()) sont plus rapides sur de grands volumes.
Fonctions prises en charge : IF, IFS, SWITCH, AND, OR, NOT, XOR, IFERROR, IFNA, ISBLANK, ISNUMBER, ISTEXT, SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, COUNTBLANK, PRODUCT, MEDIAN, ROUND, ROUNDUP, ROUNDDOWN, INT, TRUNC, ABS, SIGN, MOD, POWER, SQRT, EXP, LN, LOG, LOG10, PI, CEILING, FLOOR, RAND, RANDBETWEEN, SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF, AVERAGEIFS, SUMPRODUCT, VLOOKUP, XLOOKUP, MATCH, INDEX, CONCAT, CONCATENATE, TEXTJOIN, LEFT, RIGHT, MID, LEN, UPPER, LOWER, PROPER, TRIM, SUBSTITUTE, REPLACE, FIND, SEARCH, REPT, VALUE, EXACT, TEXT (formats de nombres), TODAY, NOW, DATE, YEAR, MONTH, DAY. Chargez le tableur lui-même avec Excel vers JSON puis json.load().
Aussi recherché comme : convertir formule excel en python, excel vers python, formule excel en code python, formule excel pandas, google sheets formule python, convertisseur formule excel python, vlookup en python, fonction excel en python.
Outils complémentaires : Formule Excel vers Python
- Formule Excel vers JavaScript — Collez une formule de tableur et obtenez du JavaScript lisible : une fonction avec des paramètres nommés, une priorité des opérateurs respectée et de petites fonctions d'aide pour ce qui manque à JavaScript, comme SUMIFS et VLOOKUP.
- Formule Excel vers SQL — Collez une formule Excel et obtenez l'expression SQL équivalente ou une requête SELECT : IF et IFS sous forme de CASE WHEN, SUMIFS et COUNTIFS en agrégats conditionnels, et les bonnes fonctions de chaînes et de dates pour votre base de données.
- Formule Excel vers PHP — Collez une formule de tableur et obtenez une fonction PHP 8 : ternaires entre parenthèses, fonctions de chaîne mb_*, et helpers pour les recherches, les sommes conditionnelles et MOD façon Excel.
- CSV vers JSON — Collez du CSV ou du TSV pour obtenir un tableau JSON d'objets.
Questions fréquentes
Pourquoi la sortie utilise-t-elle excel_round() au lieu de round() ?
round(2.5) vaut 2. Excel arrondit les moitiés en s'éloignant de zéro. La fonction auxiliaire reproduit exactement le comportement d'Excel.Fonctionne-t-il avec les DataFrames pandas ?
.tolist(), ou appliquez une fonction ligne par ligne avec df.apply(…, axis=1).Comment VLOOKUP est-il traduit ?
vlookup(value, table, column, approximate), où la table est une liste de lignes. La correspondance exacte (FALSE) compare le texte sans tenir compte de la casse, comme Excel, et une valeur absente lève une LookupError, interceptée par IFERROR.