390 lines
8.9 KiB
Markdown
390 lines
8.9 KiB
Markdown
|
---
|
|||
|
author: Gregory Trolliet
|
|||
|
title: LibreOffice Calc -- Les formules
|
|||
|
pagetitle: Présentation
|
|||
|
date: 5 octobre 2020
|
|||
|
license: CC-BY-SA
|
|||
|
---
|
|||
|
|
|||
|
# Présentation
|
|||
|
|
|||
|
* [Gregory Trolliet](https://trolliet.info)
|
|||
|
* [Ognon](https://ognon.ch)
|
|||
|
* [itopie](https://itopie.ch)
|
|||
|
* Fichiers: [https://files.vulgarisons.info/calc](https://files.vulgarisons.info/calc)
|
|||
|
|
|||
|
![](by-sa.svg)
|
|||
|
|
|||
|
# Vos questions précises
|
|||
|
|
|||
|
# Notions de base
|
|||
|
|
|||
|
## Définition
|
|||
|
|
|||
|
<ul>
|
|||
|
<li class="fragment" data-fragment-index=1>**Classeur**
|
|||
|
<span class="fragment" data-fragment-index="2"><br/>Document qui contient plusieurs feuilles</span>
|
|||
|
</li>
|
|||
|
<li class="fragment" data-fragment-index=1>**Feuille de calcul**
|
|||
|
<span class="fragment" data-fragment-index="3"><br/>Conteneur de cellules</span>
|
|||
|
</li>
|
|||
|
<li class="fragment" data-fragment-index=1>**Cellule**
|
|||
|
<span class="fragment" data-fragment-index="4"><br/>Données à afficher et à manipuler</span>
|
|||
|
<span class="fragment" data-fragment-index="4"><br/>Formules</span>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
::: notes
|
|||
|
Maximum 10'000 feuilles par classeur
|
|||
|
Maximum 1'000'000 de lignes et 1024 colonnes par feuille
|
|||
|
!Attention à la lenteur!
|
|||
|
:::
|
|||
|
|
|||
|
## Référence
|
|||
|
|
|||
|
<ul>
|
|||
|
<li class="fragment">C7</li>
|
|||
|
<li class="fragment">B5:D12</li>
|
|||
|
<li class="fragment">\$MaFeuille.E2</li>
|
|||
|
<li class="fragment">\$AutreFeuille.E2:E9</li>
|
|||
|
<li class="fragment">'file:///home/raghnarok/exo_1.ods'#\$SaFeuille.E2:E9
|
|||
|
<span class="fragment"><br/>Édition→Lien vers des fichiers externes→Actualiser</span>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
::: notes
|
|||
|
Si insertion depuis un autre document, il faut rouvrir le document
|
|||
|
pour accepter de charger les données distantes, sinon erreur 540.
|
|||
|
Update possible depuis Édition->Lien vers des fichiers externes->mise à jour.
|
|||
|
|
|||
|
!Attention difficultés lors du partage / déplacement de fichiers!
|
|||
|
:::
|
|||
|
|
|||
|
## Référence absolues
|
|||
|
|
|||
|
Permet de s'assurer que la cellule cible ne soit pas modifiée lors
|
|||
|
du déplacement, de l'insertion de nouvelles lignes ou colonnes ou
|
|||
|
lors de copie.
|
|||
|
|
|||
|
<ul>
|
|||
|
<li class="fragment">\$C7 *Colonne*</li>
|
|||
|
<li class="fragment">D\$12 *Ligne*</li>
|
|||
|
<li class="fragment">\$E\$7</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
|
|||
|
## Nommer des cellules
|
|||
|
|
|||
|
Intérêt:
|
|||
|
|
|||
|
* Simplifier les formules
|
|||
|
* Ne pas avoir à se rappeler de la position
|
|||
|
* Permettre de modifier une référence sans devoir modifier toutes les formules
|
|||
|
|
|||
|
<span class="fragment">Attention, ne fonctionne pas entre différents classeurs.</span>
|
|||
|
|
|||
|
<span class="fragment">Feuille→Plages et expressions nommées→Gérer</span>
|
|||
|
|
|||
|
::: notes
|
|||
|
Accessible depuis le menu déroulant en haut à gauche, coordonnée cellule
|
|||
|
:::
|
|||
|
|
|||
|
## Exercices
|
|||
|
|
|||
|
Entrainez-vous à accéder correctement à des cellules ainsi qu'à les nommer.
|
|||
|
|
|||
|
# Formats
|
|||
|
|
|||
|
## Nombres
|
|||
|
|
|||
|
::: incremental
|
|||
|
* Différents formats complets:
|
|||
|
* 1.15
|
|||
|
* -0.456
|
|||
|
* Formats spéciaux:
|
|||
|
* 15%
|
|||
|
* CHF 14.50
|
|||
|
* 22/7
|
|||
|
:::
|
|||
|
|
|||
|
## Heures
|
|||
|
|
|||
|
::: incremental
|
|||
|
* 09:30
|
|||
|
* 09:30:15
|
|||
|
* 09:30:15.179
|
|||
|
:::
|
|||
|
|
|||
|
## Dates
|
|||
|
|
|||
|
* 27.11.1987
|
|||
|
|
|||
|
## Stockage
|
|||
|
|
|||
|
**Tout** est enregistré comme un nombre!
|
|||
|
|
|||
|
::: notes
|
|||
|
Dates => nombre de jours depuis le 30 décembre 1899
|
|||
|
:::
|
|||
|
|
|||
|
## Plage de validité
|
|||
|
|
|||
|
Possibilité de définir une liste de valeurs possibles pour une cellule.
|
|||
|
*Données→Validité...*
|
|||
|
|
|||
|
<span class="fragment">Éviter à l'utilisateur / utilisatrice de se tromper</span>
|
|||
|
|
|||
|
## Exercices
|
|||
|
|
|||
|
* Expérimenter les différents formats d'affichage de *Calc*
|
|||
|
* Modifier la plage de validité d'une ou plusieurs cellules
|
|||
|
|
|||
|
# Les opérateurs
|
|||
|
|
|||
|
## Opérateurs arithmétiques
|
|||
|
|
|||
|
::: incremental
|
|||
|
* \+ Addition *=1+1*
|
|||
|
* \‒ Soustraction *=2–1*
|
|||
|
* \* Multiplication *=2\*2*
|
|||
|
* / Division *=10/5*
|
|||
|
* % Pourcentage *=15%*
|
|||
|
* ^ Exponentiation *=2^3*
|
|||
|
:::
|
|||
|
|
|||
|
<span class="fragment">Respectent l'ordre des opérations</span>
|
|||
|
|
|||
|
## Opérateurs logiques
|
|||
|
|
|||
|
::: incremental
|
|||
|
* = Égal *A1=B1*
|
|||
|
* \> Supérieur à *A1>B1*
|
|||
|
* \< Inférieur à *A1<B1*
|
|||
|
* \>= Supérieur ou égal à *A1>=B1*
|
|||
|
* \<= Inférieur ou égal à *A1<=B1*
|
|||
|
* <> Non égal *A1<>B1*
|
|||
|
:::
|
|||
|
|
|||
|
## Concaténation de texte
|
|||
|
|
|||
|
* & Concatène le texte *=B2 & ", " & B3 & " " & B5*
|
|||
|
|
|||
|
## Opérateurs de plage
|
|||
|
<ul>
|
|||
|
<li class="fragment" data-fragment-index=1>A2:B4 *Plage de cellules*</li>
|
|||
|
<li class="fragment" data-fragment-index=2>B:B *Colonne entière*</li>
|
|||
|
<li class="fragment" data-fragment-index=2>B:D *Plusieurs colonnes*</li>
|
|||
|
<li class="fragment" data-fragment-index=3>17:17 *Ligne entière*</li>
|
|||
|
<li class="fragment" data-fragment-index=3>5:17 *Plusieurs lignes*</li>
|
|||
|
<li class="fragment" data-fragment-index=4>Feuille1.A3:Feuille3.D4 *Plage tridimensionnelle*</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
# Les formules
|
|||
|
|
|||
|
## Nommage
|
|||
|
|
|||
|
Attention, *Calc* traduit le nom des formules.
|
|||
|
|
|||
|
Possibilité de remettre en anglais si désiré:
|
|||
|
*Outils → Options → LibreOffice Calc → Formule → Utiliser les noms de fonction anglais*
|
|||
|
|
|||
|
## Fonctionnement
|
|||
|
|
|||
|
::: incremental
|
|||
|
* Nom, en majuscules
|
|||
|
* Paramètre·s
|
|||
|
* Valeur de retour
|
|||
|
:::
|
|||
|
|
|||
|
## Les fonctions usuelles
|
|||
|
|
|||
|
* Somme
|
|||
|
* Moyenne
|
|||
|
* Médiane
|
|||
|
* Produit
|
|||
|
|
|||
|
<span class="fragment">=SOMME(A1:A3)</span>
|
|||
|
|
|||
|
<span class="fragment">=MOYENNE(A1,A3)</span>
|
|||
|
|
|||
|
## Les fonctions spécifiques
|
|||
|
|
|||
|
:::incremental
|
|||
|
* Arrondi *=ARRONDI(Nombre, précision)*
|
|||
|
* Troncation *=TRONQUE(Nombre, précision)*
|
|||
|
* Année *=ANNEE(Date)*
|
|||
|
* Année bissextile? *=ESTBISSEXTILE(Date)*
|
|||
|
* ...
|
|||
|
:::
|
|||
|
|
|||
|
## Les fonctions matricielles
|
|||
|
|
|||
|
:::incremental
|
|||
|
1. Sélectionner une plage de la même taille que la source
|
|||
|
2. Entrer la formule
|
|||
|
3. Valider avec *ctrl+shift+enter*
|
|||
|
:::
|
|||
|
|
|||
|
<span class="fragment">Économise du temps de calcul et de l'espace disque</span>
|
|||
|
|
|||
|
|
|||
|
## Les fonctions logiques
|
|||
|
|
|||
|
<ol>
|
|||
|
<li class="fragment" data-fragment-index=1>Si
|
|||
|
<span class="fragment" data-fragment-index=4>*=SI(Test, Valeur si vrai, Valeur si faux)*</span></li>
|
|||
|
<li class="fragment" data-fragment-index=2>Si avec plusieurs conditions
|
|||
|
<span class="fragment" data-fragment-index=5>*=SI.CONDITIONS(Test1, Valeur1, Test2, Valeur2, ...)*</span></li>
|
|||
|
<li class="fragment" data-fragment-index=3>Si avec plusieurs valeurs
|
|||
|
<span class="fragment" data-fragment-index=6>*=SI.MULTIPLES(Expression, Valeur1, Résultat1, Valeur2, Résultat2, ...)*</span></li>
|
|||
|
</ol>
|
|||
|
|
|||
|
|
|||
|
## Les fonctions de consolidation
|
|||
|
|
|||
|
:::incremental
|
|||
|
* Somme conditionnelle *=SOMME.SI(Plage, critère, plage somme)*
|
|||
|
* Somme de produits *=SOMMEPROD(Plage1, Plage2)*
|
|||
|
* Somme de produits conditionnelle
|
|||
|
*=SOMMEPROD(Plage1, Plage2, Plage3="pomme")*
|
|||
|
:::
|
|||
|
|
|||
|
::: notes
|
|||
|
Attention au temps de calcul si les plages deviennent grandes
|
|||
|
:::
|
|||
|
|
|||
|
## Exercice
|
|||
|
|
|||
|
Calculer le nombre de kilos de chaque fruit commandé chaque mois.
|
|||
|
Pensez à décomposer le calcul.
|
|||
|
|
|||
|
:::notes
|
|||
|
=SOMMEPROD(sacs,poids,dates>=$A7,dates<SI(ESTVIDE($A8),DATE(2100,12,31), $A8),types=B$6)
|
|||
|
:::
|
|||
|
|
|||
|
# Les erreurs
|
|||
|
|
|||
|
## Erreurs courantes
|
|||
|
|
|||
|
:::incremental
|
|||
|
* *#DIV0!* → division par zéro → tester les valeurs
|
|||
|
* *#NUM!* → dépassement de la valeur maximum
|
|||
|
* *#REF!* → référence inexistante → feuille supprimée?
|
|||
|
:::
|
|||
|
|
|||
|
# Exercice
|
|||
|
|
|||
|
## Numérotation de lignes
|
|||
|
|
|||
|
:::incremental
|
|||
|
1. Numéroter les lignes automatiquement, même si on rajoute une ligne au milieu.
|
|||
|
2. Numéroter uniquement les lignes ayant des données.
|
|||
|
:::
|
|||
|
|
|||
|
:::notes
|
|||
|
=SI(ESTVIDE(B2),"",SI(LIGNE()=2,1,MAX(A1:A$1)+1))
|
|||
|
:::
|
|||
|
|
|||
|
# Les fonctions conditionnelles
|
|||
|
|
|||
|
## Assistant Fonction
|
|||
|
|
|||
|
Pensez à utiliser l'assistant!
|
|||
|
|
|||
|
:::notes
|
|||
|
Petit logo fx en haut à gauche.
|
|||
|
Contient toutes les descriptions des fonctions ainsi que des paramètres
|
|||
|
|
|||
|
Exo: Se balader dans la liste
|
|||
|
:::
|
|||
|
|
|||
|
## Liste
|
|||
|
* MOYENNE.SI
|
|||
|
* NB.SI
|
|||
|
* SOMME.SI
|
|||
|
* MAX.SI
|
|||
|
* ...
|
|||
|
|
|||
|
:::notes
|
|||
|
Si test en conditions, ne pas oublier les guillemets ">5"
|
|||
|
|
|||
|
Exo: Tester quelques fonctions avec la feuille ListeNombres.
|
|||
|
:::
|
|||
|
|
|||
|
# Les recherches et filtres
|
|||
|
|
|||
|
## Les filtres
|
|||
|
|
|||
|
:::incremental
|
|||
|
* AutoFiltre: *Données→AutoFiltre*
|
|||
|
* Filtre standard: *Données→Plus de filtres→Filtre standard...*
|
|||
|
* Filtre spécial, intérêt uniquement pour des usages spécifiques
|
|||
|
:::
|
|||
|
|
|||
|
:::notes
|
|||
|
Exo: Tester avec la feuille Filtres
|
|||
|
:::
|
|||
|
|
|||
|
## Recherche
|
|||
|
|
|||
|
<div class="fragment fade-in-then-semi-out">
|
|||
|
La fonction *RECHERCHE* nécessite une liste triée.
|
|||
|
|
|||
|
*=RECHERCHE(Critère, Vecteur recherche, Vecteur résultat)*
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="fragment">
|
|||
|
*RECHERCHEV* et *RECHERCHEH* permettent de chercher dans la première ligne
|
|||
|
d'une matrice,
|
|||
|
de spécifier quelle sera la ligne de résultat et de travailler
|
|||
|
avec une liste non triée.
|
|||
|
|
|||
|
*=RECHERCHEV(Critère, Matrice, Indice[, Triée])*
|
|||
|
</div>
|
|||
|
|
|||
|
:::notes
|
|||
|
Avantage de RECHERCHEV,
|
|||
|
il est possible de modifier par une variable le paramètre de retour.
|
|||
|
|
|||
|
Si recherche ordonnée et valeur inexistante,
|
|||
|
renvoi la valeur précédent la valeur cherchée.
|
|||
|
|
|||
|
RECHERCHEV($G$4,$A:$D,COLONNE()-COLONNE($G$4)+2)
|
|||
|
|
|||
|
Exo: Tester avec la feuille Recherche
|
|||
|
:::
|
|||
|
|
|||
|
## Valeur cible
|
|||
|
|
|||
|
<div class="fragment">
|
|||
|
La valeur cible permet de trouver une solution à une équation
|
|||
|
en variant un unique paramètre.
|
|||
|
|
|||
|
*Outils→Recherche de valeur cible*
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="fragment">
|
|||
|
Le solveur permet de faire varier plusieurs paramètres.
|
|||
|
|
|||
|
*Outils→Solveur*
|
|||
|
</div>
|
|||
|
|
|||
|
:::notes
|
|||
|
Exo: Tester avec la feuille Résolution
|
|||
|
:::
|
|||
|
|
|||
|
## Tableau dynamique
|
|||
|
|
|||
|
Permet de faire du tri et des calculs automatiquement.
|
|||
|
|
|||
|
*Données→Table dynamique→Insérer ou éditer*
|
|||
|
|
|||
|
:::notes
|
|||
|
Possibilité de modifier les calculs en double-cliquant sur le champ.
|
|||
|
|
|||
|
Exo: Tester avec la feuille Filtres ou Recherche
|
|||
|
:::
|
|||
|
|
|||
|
|
|||
|
# Questions?
|