mygems

Additionner une colonne d'un fichier CSV sans Excel

Somme, moyenne et nombre d'une colonne CSV, ou total par catégorie, sans Excel. Commandes en une ligne, Sheets et téléphone.

Par mygems ·

Additionner une colonne est la chose la plus courante qu'on fasse avec un CSV, et la réponse est généralement à un clic, dans le programme qui a ouvert le fichier. Le problème, c'est qu'un mauvais total ressemble exactement à un bon. Un symbole monétaire, une ligne de total ajoutée en bas par l'export, ou quelques centaines de lignes en double, et la somme est fausse sans que rien à l'écran ne vous le dise.

La réponse rapide

  • Excel ou Sheets : sélectionnez la colonne. La somme s'affiche dans la barre du bas.
  • Par catégorie : un tableau croisé dynamique, ou SUMIF.
  • Ligne de commande : csvstat, mlr, ou une requête DuckDB, plus bas.
  • Sur téléphone : sélectionnez la colonne dans une application CSV qui affiche des statistiques de sélection.
  • À chaque fois : comparez le nombre de nombres au nombre de cellules non vides. S'ils diffèrent, certaines valeurs n'ont pas été additionnées.

Le total en un clic

Dans Excel, cliquez sur la lettre de la colonne. La barre d'état en bas affiche Moyenne, Nb et Somme. Faites un clic droit sur la barre d'état pour ajouter Min, Max et Chiffres.

Dans Google Sheets, sélectionnez la colonne et la somme apparaît en bas à droite. Cliquez dessus pour passer à la moyenne, au nombre, au min ou au max.

La vérification qui attrape la plupart des erreurs : comparez Nb (cellules non vides) à Chiffres. Dans une colonne de 5 000 montants, les deux doivent valoir 5 000. Si Chiffres indique 4 870, alors 130 cellules sont du texte, et elles manquent dans la somme.

Avec une formule

=SUM(D:D)
=SUMIF(B:B, "Travel", D:D)
=SUMIFS(D:D, B:B, "Travel", C:C, ">=2026-01-01")

SUMIF additionne les lignes où une autre colonne correspond. SUMIFS accepte autant de conditions que nécessaire.

Totaux par catégorie

« Total des dépenses par catégorie », c'est un tableau croisé dynamique, pas une formule par catégorie.

  • Excel : Insertion → Tableau croisé dynamique, glissez la catégorie dans Lignes et le montant dans Valeurs. Par défaut c'est Somme ; si c'est Nombre, la colonne est du texte (voir plus bas).
  • Sheets : Insertion → Tableau croisé dynamique, même principe.

En ligne de commande

csvkit résume chaque colonne, ou une seule :

csvstat -c amount expenses.csv

Miller, sommes groupées par catégorie :

mlr --icsv --opprint stats1 -a sum,mean,count -f amount -g category expenses.csv

DuckDB, pour un fichier de n'importe quelle taille et n'importe quelle question :

duckdb -c "SELECT category, sum(amount) AS total, count(*) AS rows FROM 'expenses.csv' GROUP BY ALL ORDER BY total DESC"

Pas awk -F,, malgré toutes les réponses Stack Overflow qui le suggèrent. Il découpe à chaque virgule, y compris celles à l'intérieur de champs entre guillemets comme "Smith, Jane", puis additionne la mauvaise colonne sans rien dire.

Pourquoi le total est faux

Chacun de ces cas produit un nombre crédible.

Des valeurs qui ne sont pas des nombres

  • Symboles monétaires : $1,200.00. Beaucoup d'outils le traitent comme du texte et l'ignorent.
  • Séparateurs de milliers : 1,200 dans un CSV est souvent du texte entre guillemets.
  • Virgules décimales : 1.200,50 venant d'un système européen, c'est mille deux cents pour un lecteur allemand, et soit du texte, soit 1,2 pour un lecteur anglophone.
  • Négatifs comptables : (450.00) signifie −450 dans un export financier et c'est du texte pour tout le reste. Ce sont généralement des remboursements, donc les ignorer gonfle le total.
  • Valeurs de remplacement : N/A, -, TBC.

La vérification par comptage ci-dessus les attrape tous. Corrigez-les à la source si possible ; sinon, nettoyez la colonne avant d'additionner.

Des lignes qui ne devraient pas être là

  • Une ligne de total. Les exports bancaires et comptables se terminent souvent par « Total » ou « Closing balance ». Si vous l'incluez, vous avez doublé la somme. Regardez les dernières lignes avant de faire confiance au premier total.
  • Des doublons. Un fichier assemblé à partir d'exports qui se chevauchent compte deux fois le chevauchement. Voir comment supprimer les lignes en double d'un CSV.
  • Des en-têtes répétés. Plusieurs CSV concaténés à la main emportent leurs lignes d'en-tête au milieu des données. C'est du texte, donc elles sont ignorées, mais elles gonflent le nombre de lignes auquel vous comparez.

Les signes

Certains exports écrivent les sorties d'argent en négatif et les entrées en positif, d'autres les mettent dans des colonnes séparées, et d'autres encore utilisent un montant positif avec une colonne « Débit/Crédit » à part. Additionner la colonne des montants de ce troisième type donne le mouvement total, pas le solde. Le guide du CSV de relevé bancaire passe en revue les structures courantes.

Excel a modifié les valeurs d'abord

Si la colonne contenait de longs identifiants ou codes plutôt que des montants, une ouverture par double-clic les a peut-être déjà arrondis. Cela compte moins pour les sommes que pour les recherches, mais la cause est la même : Excel modifie les données CSV à l'ouverture.

Sur téléphone

Les applications de tableur sur téléphone affichent une somme pour une sélection, mais seulement une fois le CSV converti. Une application CSV peut le faire directement sur le fichier.

Dans Smart CSV Viewer, touchez le nom d'une colonne pour la sélectionner, puis la ligne de résumé au-dessus de la barre du bas pour ouvrir Selection stats : taille, cellules remplies et vides, et pour les nombres le compte, la somme, la moyenne, le minimum et le maximum. Les valeurs écrites 1,234.50, $5 ou 1.234,50 sont toutes prises en compte. Touchez un chiffre pour le copier.

La feuille Selection stats pour une colonne Budget : 30 cellules, 30 non vides, 30 nombres, somme 75 100, moyenne 2 503,33, minimum 900, maximum 6 500
Numbers 30 sur Non-empty 30 : rien n'a été ignoré

La ligne Numbers face à Non-empty est la vérification par comptage vue plus haut, déjà intégrée. Filtrez d'abord, et les statistiques ne portent que sur les lignes correspondantes, ce qui vous donne un total par catégorie sans tableau croisé dynamique.

CSV File Viewer - Smart CSViPhone et iPad · Android

Sélectionnez une colonne pour voir son nombre, sa somme, sa moyenne, son min et son max sur iPhone ou Android, avec les devises et les deux styles de décimales reconnus, et filtrez d'abord pour un sous-total.

Ce que ça fait

Un contrôle de cohérence en trente secondes

Avant qu'un total parte dans un e-mail :

  1. Nb contre nombres. Chaque cellule non vide a été comptée comme un nombre.
  2. Les cinq dernières lignes. Pas de total, de solde ni de pied de page.
  3. La plus grande valeur. Triez par ordre décroissant et regardez le haut. Une seule virgule mal placée est la façon la plus courante de se tromper d'un facteur cent.

Questions

Comment additionner une colonne dans un fichier CSV ?
Ouvrez-le dans Excel ou Google Sheets et sélectionnez la colonne ; la somme s'affiche en bas de la fenêtre. Sans tableur, utilisez csvstat de csvkit, stats1 de Miller, ou une requête DuckDB comme SELECT sum(amount) FROM 'file.csv'.
Pourquoi la somme de ma colonne CSV est-elle fausse ?
Généralement parce que certaines valeurs sont du texte : symboles monétaires, séparateurs de milliers, virgules décimales, négatifs comptables entre parenthèses, ou valeurs de remplacement comme N/A. Comparez le nombre de cellules numériques au nombre de cellules non vides pour le savoir. Vérifiez aussi s'il y a une ligne de total en bas de l'export et des lignes en double.
Comment totaliser une colonne CSV par catégorie ?
Utilisez un tableau croisé dynamique dans Excel ou Google Sheets, avec la catégorie dans Lignes et le montant dans Valeurs. En ligne de commande, une requête DuckDB avec GROUP BY ou stats1 de Miller avec -g fait la même chose en une ligne.
Pourquoi Excel affiche-t-il Nb au lieu de Somme pour ma colonne ?
La colonne est stockée sous forme de texte, donc Excel peut compter les cellules mais pas les additionner. Convertissez la colonne en nombres, ou supprimez les symboles monétaires et les séparateurs qui empêchent de lire les valeurs comme des nombres.
Peut-on additionner une colonne CSV sans Excel ?
Oui. Google Sheets est gratuit, des outils en ligne de commande comme csvkit, Miller et DuckDB additionnent une colonne en une ligne, et certaines applications CSV sur téléphone affichent directement la somme, la moyenne, le min et le max d'une colonne sélectionnée.

mygems — Développe CSV Editor et Smart CSV Viewer, deux applications nées parce que les tableurs abandonnent face aux gros fichiers.