Question Trouver la différence de temps avec OpenOffice.org Calc


J'ai des données dans ce format:

      Action  (A)                  |     Time logged (B)
  ---------------------------------|-----------------------
1 |Policy converted successfully   |   19-FEB-10 18:34:01   
2 |Policy converted successfully   |   19-FEB-10 18:34:10   
3 |Policy converted successfully   |   19-FEB-10 18:34:21   

Je dois trouver la différence de temps entre la ligne 2 et la ligne 1, en secondes (ou minutes / heures). Comment puis-je faire la même chose avec OpenOffice.org Calc? j'ai essayé =B2-B1, la cellule résultante avait un Err: 529 comme résultat. J'ai essayé de mettre un masque de format de DD-MMM-YY HH:MM:SS sur la source ainsi que les cellules de destination, mais sans effet. Des astuces pour accomplir cela?

Il y a environ 2 800 lignes d'enregistrements, il est tout simplement impossible de les parcourir.


4
2018-02-22 21:24


origine


Heure d'été, n'importe qui? - Arjan
(Et s'il s'agit d'une importation d'un fichier texte, la définition explicite de colonnes date-heure en tant que date-heure lors de l'importation peut aider.) - Arjan
@Arjan - DST n'est pas applicable ici :) - Sathya♦


Réponses:


Comme Chris a répondu, votre problème est que votre feuille de calcul stocke les dates sous forme de chaîne de texte et non de date.

En plus de cela, une cellule ne peut être qu’une date (c’est-à-dire un jour sur le calendrier), ou une heure (heure wallclock), pas les deux.   Edit: Pas vrai, cela fonctionne très bien. C'est juste qu'il n'y a pas de fonction d'analyse pour analyser la date et l'heure en une seule fois.

Donc, tout d'abord, vous devez diviser votre chaîne de date + heure en deux colonnes. Utilisez ensuite DATEVALUE pour convertir la date et TIMEVALUE pour convertir l'heure. Ensuite, vous pouvez calculer avec eux.

Pour ce faire, vous pouvez utiliser des formules comme celle-ci:

Policy converted successfully   |       19-FEB-2010 18:34:01 | =LEFT(B1; 11) | =RIGHT(B1;8) | =DATEVALUE(C1) | =TIMEVALUE(D1) | =E1+F1

Explication:

  • Les deux premières formules (LEFT, RIGHT) divisent la chaîne en date et heure pour les analyser séparément.
  • Les deux suivantes (DATEVALUE, TIMEVALUE) analysent une chaîne en tant que date / heure
  • la dernière combine la date et l'heure dans une cellule (en interne, la date et l'heure ne sont que des nombres flottants, vous pouvez donc les ajouter)

Maintenant, vous pouvez les utiliser au contenu de votre coeur. Bien sûr, vous pouvez combiner les formules pour utiliser moins de cellules.

Si la dernière colonne ne s'affiche pas comme une date + heure, mais comme un nombre, choisissez le formatage "date".


5
2018-02-22 23:12



Merci, cela semble prometteur. Je vais l'essayer et vous le faire savoir demain, juste quitté le bureau;) - Sathya♦
Travaillé comme un charme, merci beaucoup! - Sathya♦


Pour calculer la différence de deux fois en heures:

=(HOUR(E17)+(MINUTE(E17)/60))-(HOUR(D17)+(MINUTE(D17)/60))

où D17 est le "de temps" et E17 est le "temps". E17 et D17 doivent être formatés dans le temps.


5
2018-06-08 14:21



Ceci est une excellente réponse générique. - DanM7
Vous pourriez juste faire =E17-D17 et utilise [HH] ou [HH]:MM pour formater le résultat. - Jason C


Quelque chose comme ça aiderait?

http://www.ehow.com/how_5924425_calculate-time-differences-openoffice.html

Je n'ai pas installé OO donc ne peut pas vérifier. Fondamentalement utiliser le DATEDIFF fonction.


1
2018-02-22 21:36



Malheureusement datediff ne semble pas prendre en nombre de cellules comme référence :( - Sathya♦
: -O désolé j'aurais du installer OO et le tester :) - Burton
pas de soucis, merci pour l'essayer :) - Sathya♦
Il paraît que datediff n'est pas une fonction de feuille de calcul (voir wiki.services.openoffice.org/wiki/Documentation/How_Tos/) mais quelque chose du moteur de base de données HSQLdb (voir wiki.services.openoffice.org/wiki/...) - Arjan


On dirait que les données sont une chaîne et doivent d'abord être converties en une date. Les dates sont stockées en interne sous forme de nombres à virgule flottante, de sorte que vous pouvez simplement les soustraire et obtenir la différence (le résultat peut encore nécessiter un formatage en fonction de ce que vous recherchez).


1
2018-02-22 21:49



J'ai appliqué le masque de format de date, comme mentionné dans ma question, mais sans effet. - Sathya♦


Cette erreur signifie quelque chose comme le formatage de la cellule est foiré. Je ne suis pas capable de le reproduire (3.1, Ubuntu 9.10) (cela fonctionne simplement pour moi) mais vous devriez vérifier le contenu «réel» de la cellule, comme cela apparaît dans la zone de saisie de texte de la barre d'outils. Essayez également de définir la mise en forme des cellules (clic droit -> Formater les cellules ... -> Nombres) sur un type date (en utilisant non seulement le masque, définissez-le explicitement sur l'un des masques de date prédéfinis).


1
2018-02-22 23:05



C'est ce qu'il montre dans la boîte d'édition - 19-FEB-10 18:33:20 Appliqué seulement des masques prédéfinis, mais toujours Err:529 - Sathya♦
@Sathya: Quelle version avez-vous de toute façon? - Bobby
Je suis sur 3.0.0 (OOO300m9, build 9358), étiqueté comme édition Novell. J'utilise Windows, pas Linux. - Sathya♦
@Sathya: Avez-vous la possibilité de passer à une version plus récente? Cela pourrait être un bug qui a été corrigé (je lis quelque part que cette erreur était liée à un bogue). - Bobby
Désolé je ne peux pas mettre à niveau, c'est au-delà de mon contrôle. - Sathya♦