web-dev-qa-db-fra.com

Logique de date avancée dans Google Spreadsheets

J'ai la situation suivante:

Nous sommes le 09/04/12. J'ai une cellule avec une date dans la feuille qui est le 13/04/12. Cette cellule doit virer au rouge dans les 7 jours à compter de la date actuelle.

  1. Comment utiliser le formatage conditionnel pour que Google Spreadsheets mette en surbrillance les cellules éloignées de la date du jour jusqu'à 7 jours?

  2. Comment faire en sorte que la feuille de calcul trie la feuille en fonction de dates croissantes dans la plage que je veux trier? J'essaie de faire cela, mais tout ce que cela fait est de trier tout les données, y compris les titres de colonne, ce qui n'est pas ce que je veux.

10
Andrew Davis

Oui.

Utilisez la mise en forme conditionnelle avec trois règles: (Format -> Mise en forme conditionnelle)

  1. "La date est avant" "dans la semaine écoulée" -> rouge
  2. "La date est après" la semaine dernière "-> vert
  3. "La date est" "la semaine passée" -> orange

Cela colorera toutes les dates plus d'une semaine en vert, toutes les dates entrant dans la semaine suivante en orange et le reste des dates en rouge. Les cellules vides seront laissées seules.

13
Onno Benschop

Au cas où vous auriez besoin de délais plus précis que dans la réponse acceptée, vous pouvez utiliser DATÉ pour spécifier une certaine différence entre les dates.

Exemple: formater la cellule A1 si la date dans A1 est plus ancienne que 10 jours.

Instruction:

  1. Sélectionnez la cellule A1
  2. Aller à Format/Mise en forme conditionnelle
  3. Sous "Formater les cellules si ...", choisissez "Formule personnalisée".
  4. type: =DATEDIF(A1,TODAY(),"D")>10
3
alex sichwart

La réponse acceptée mentionne des couleurs qui ne sont pas mentionnées dans la question et ne fait que regarder en arrière. De plus, "La date est avant" "" au cours de la dernière semaine "ne met pas en évidence les dates dans les sept jours d'aujourd'hui. Je suggère une formule personnalisée de mise en forme conditionnelle est du type:

=and(A1>today()-7,A1<today()+7)  

où six jours avant aujourd'hui, aujourd'hui et six jours après aujourd'hui devraient tous être soulignés.

2
pnuts
  1. Je ne sais pas s'il existe un moyen de le faire, sauf en écrivant des scripts (qui peuvent être assez complexes et probablement pas aussi fiables)

Il existe cependant une solution de contournement plus simple. Vous pourriez:

  • ajouter une nouvelle colonne à la table, à côté de la date
  • enregistre la différence (en jours) entre cette date et celle d'aujourd'hui (par exemple, si la cellule de date de la première ligne est C2, vous pouvez entrer la formule suivante: =C2-now())
  • formate la colonne de différence en fonction de sa valeur (c'est-à-dire s'il s'agit de less than 7)

Cela ne formate pas les cellules de date, mais cela pourrait être une solution de contournement acceptable.

2.

  • sélectionnez toute la plage que vous voulez trier (y compris les titres de colonne)
  • dans le menu, sélectionnez Données -> Trier par plage ...
  • cochez la case "Les données ont une ligne d'en-tête"
  • sélectionnez la colonne de tri dans la liste déroulante "trier par"
  • cliquez sur "Trier"
2
Cristian Lupascu

Vous pouvez utiliser

=ArrayFormula(DAYS360(M2:M; N2:N))

où M2 et N2 tiennent la date que vous voulez comparer. Il montre les différences de jours en nombre entre 2 dates. Ensuite, vous pouvez ajouter une condition à une cellule, par exemple si elle est grosse, puis 7 rouge en arrière-plan.

0
user19031