web-dev-qa-db-fra.com

Examiner le chevauchement dans Google Sheets?

Disons que j'ai les jours/heures de début et de fin suivants:

enter image description hereSHEET1

Résultat: Mon 10am through Tues at 11:59pm.

J'aimerais savoir si cette plage de temps chevauche une autre plage de temps sur une feuille séparée.

Vous trouverez ci-dessous un exemple de 2 plages de dates à comparer: une qui se chevauche et une qui ne le fait pas:

enter image description hereSHEET2

J'aimerais que la fonction de la ligne associée à OVERLAP? renvoie TRUE ou FALSE, selon qu'il existe ou non un chevauchement dans la plage de temps donnée et dans la plage indiquée pour SHEET1.

Est-il possible de construire des plages de dates en fonction des heures de début et de fin, puis de comparer cette plage à d'autres plages de temps pour déterminer s'il existe un chevauchement?

  • De préférence, le tout à la volée (c’est-à-dire, ne pas enregistrer les sorties sur une feuille jusqu’à la finale TRUE/FALSE.

Exemple de feuille (séparés par des virgules):

Start Day,  Monday, 
Start Time, 10:00 AM,   
End Day,    Tuesday,
End Time,   11:59 PM

Day of interest,    Monday,     Tuesday,
DOI start,          8:00 AM,    8:00 AM,
DOI end,            9:00 AM,    9:00 AM,    
OVERLAP?,           FALSE,      TRUE
1
theforestecologist

le tableur ne comprend pas la logique humaine "avancée" d'un point de vue relationnel et compare le chevauchement de leurs durées ... donc Sheet1!B1 doit être converti en format de date correspondant au même jour (présent, passé ou futur - la référence importe peu) et l’heure ajoutée à partir de Sheet1!B2 qui est ensuite comparé à Sheet2!B1 avec ajout Sheet2!B2 etc.

simplement dit, la formule fait ceci:

ifMonday 8:00 AM> ou = à Monday 10:00 AMandMonday 9:00 AM< à Tuesday 11:59 PML'instruction est TRUE sinon c'est FALSE comme dans ce cas

_=AND(IF(B1         =TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1); 
     IF(B1         =TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1); 
     IF(B1         =TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1); 
     IF(B1         =TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1); 
     IF(B1         =TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1); 
     IF(B1         =TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1); 
     IF(B1         =TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&B2 >=
     IF(Sheet1!$B$1=TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1); 
     IF(Sheet1!$B$1=TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1); 
     IF(Sheet1!$B$1=TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1); 
     IF(Sheet1!$B$1=TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1); 
     IF(Sheet1!$B$1=TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1); 
     IF(Sheet1!$B$1=TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1); 
     IF(Sheet1!$B$1=TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&Sheet1!$B$2; 
     IF(B1         =TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1); 
     IF(B1         =TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1); 
     IF(B1         =TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1); 
     IF(B1         =TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1); 
     IF(B1         =TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1); 
     IF(B1         =TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1); 
     IF(B1         =TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&B3 <
     IF(Sheet1!$B$3=TEXT(DATE(2018; 1; 1); "dddd"); DATE(2018; 1; 1); 
     IF(Sheet1!$B$3=TEXT(DATE(2018; 2; 1); "dddd"); DATE(2018; 2; 1); 
     IF(Sheet1!$B$3=TEXT(DATE(2018; 3; 1); "dddd"); DATE(2018; 3; 1); 
     IF(Sheet1!$B$3=TEXT(DATE(2018; 4; 1); "dddd"); DATE(2018; 4; 1); 
     IF(Sheet1!$B$3=TEXT(DATE(2018; 5; 1); "dddd"); DATE(2018; 5; 1); 
     IF(Sheet1!$B$3=TEXT(DATE(2018; 6; 1); "dddd"); DATE(2018; 6; 1); 
     IF(Sheet1!$B$3=TEXT(DATE(2018; 7; 1); "dddd"); DATE(2018; 7; 1); )))))))&Sheet1!$B$4)_

collez cette formule dans Sheet2!B4 et faites-la glisser vers Sheet!C4 cellule

1
user0