Question

J'ai un CV et souhaite mettre à jour automatiquement mon âge lors de l'ouverture. Alors, quelle formule dois-je insérer dans un champ MS Word?

Quelque chose comme:

{= {DATE} - {"01/01/1983"} }

Était-ce utile?

La solution

Ceci est l'un des meilleurs sites de travail avec les codes de champ de mots - http: // www .addbalance.com / UsersGuide / fields.htm -. et il y a des exemples là sur la façon de créer des dates +/-

Voici comment calculerait base d'un mois de naissance de Janvier et l'année de naissance de 1983.

{IF{DATE\@"MM"} >= 01 { = {DATE\@"YYYY"} – 1983 \#"00"} { = {DATE\@"YYYY"} – 1984 \#"00"}}

Notez que dans le cas du mois de Janvier, cette instruction IF sera toujours vrai et vous donner = AN-1983. Vous pouvez utiliser une autre instruction IF imbriquée pour vérifier le jour pour encore obtenir plus précis.

Autres conseils

J'ai essayé, mais n'a pas pu trouver dans Word champs l'équivalent de la façon dont Excel pour une journée d'soustrayez un autre (disons 18/05/1983 à partir d'aujourd'hui 21/03/2013) qui est facile dans Excel depuis un jour ( 01/01/1900 dans Excel 2013) a été choisi comme le début et tous les autres jours depuis est calculé en fonction de cette référence, les détails affichés étant seulement une façon de représenter ce résultat (date complète, mois en chiffres ou son nom complet, ou même le simple nombre d'Excel), qui peut être basculée par un clic droit sur la cellule et en choisissant le format de cellule de la catégorie (depuis 01/01/1900 est 1, 18/05/1983 est 30454 (... et aussi 00 / 01/1900 est 0!)).

Pour répondre à la question initiale, je suggère cette écriture:

{= {DATE  \@ "YYYY"} - my_year - 1*{=OR({={DATE  \@ "MM"} < my_month};{=AND({={DATE  \@ "MM"} = my_month};{={ DATE  \@ "dd"} < my_day})})}  \* MERGEFORMAT}

gardant à l'esprit:

  1. que des accolades {} sont les symboles de Word (et non « lettres » normales) et doivent être insérés en appuyant sur CTRL + F9.
  2. 'my_year', 'my_month' (deux fois) et 'my_day': devrait être des nombres
  3. nous écrivons ces lignes est assez courte, et suggèrent que 4 changements (unfortunaletly mois deux fois), ce qui contribuerait à prévenir les erreurs
  4. pour les débutants, cette écriture dit: année d'aujourd'hui moins de my_year et un substract si l'une valeur de mois d'aujourd'hui est inférieure à my_month ou les deux est égal et la valeur de jour d'aujourd'hui est inférieure à my_day, de sorte que nous n'avons ajouté un an en excès.

L'option MERGEFORMAT est utile de garder le format correct.

En outre, pour ceux qui ne sont pas habitués à travailler avec des champs Word:

  • clic droit sur le texte à l'intérieur des accolades {} et en choisissant « des codes à bascule sur le terrain », passe du code lui-même (texte à l'intérieur) ou le résultat du calcul de ce code, mais ne peut pas être à jour (mai un résultat précédent également le code a été modifié).
  • pour que le résultat sont à jour, faites un clic droit et choisissez « Actualiser champ ».
  • et pour vous assurer d'ouvrir tous les champs dans un champ de maître, sélectionnez le champ (mieux sélectionner la ligne entière contenant), clic droit et choisissez « Afficher fonction champ » (sinon, certains champs qui sont mal codés ou que peut retourner une expression vide, ne peut pas être vu et peut affecter le résultat seeing plus tard quand pas voulu).

Ce serait faire pour 18.05.1983 (j'ai changé 1er Janvier, qui est 01/01 à 18 éviter toute confusion):

{= {DATE  \@ "YYYY"} - 1983 - 1*{=OR({={DATE  \@ "MM"} < 05};{=AND({={DATE  \@ "MM"} = 05};{={ DATE  \@ "dd"} < 18})})}  \* MERGEFORMAT}

Je suggère le calcul d'un numéro de série pour les dates et les soustraire de l'autre. Il ne doit pas être trop impliqué: nous ne nous intéressons au nombre d'années de toute façon. année * 365 + mois * 31 + jour devrait faire bien ici.

Pour le nombre d'années diviser la différence par 365. bande Ensuite, la partie décimale en utilisant INT (non ROND qui vous faire 1 an de plus de la moitié de l'année).

{ = INT(({ DATE \@"YYYY" }*365 + { DATE \@"MM" }*31 + { DATE \@"dd" } 
      - (my_year*365 + my_month*31 + my_day)) / 365) \# "0" }
  1. Créer le champ de formulaire texte. Nommez le champ comme "BirthDate"

  1. Créer le champ avec le code suivant:

{={DATE \@ "yyyy"} — {BirthDate \@ "yyyy"}}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top