Determinare se una data è compresa tra altre date (Microsoft Excel)
Johna ha bisogno di determinare se una data particolare è compresa tra due altre date. Ad esempio, potrebbe dover determinare se l’8 novembre 2018 è compreso tra il 1 ° agosto 2018 e il 31 luglio 2019. Sta cercando di capire la formula che determinerà questa decisione.
In realtà ci sono una vasta gamma di formule che potresti usare, da quelle corte a quelle molto lunghe. In questo suggerimento, tuttavia, mi concentrerò sugli approcci formulari più brevi. Prima di farlo, è bene ricordare che le date (e le ore) vengono memorizzate internamente da Excel come numeri. La parte della data prima del punto decimale (la parte intera del numero) è il numero di serie per la data e la parte a destra della cifra decimale è l’ora.
Poiché le date e le ore sono memorizzate come numeri, diventa un compito relativamente facile confrontare semplicemente i numeri per determinare quale è maggiore o minore e se qualcosa è compreso tra il massimo e il minimo. Ad esempio, supponiamo di avere la data di inizio (1 agosto 2018) nella cella A1 e la data di fine (31 luglio 2019) nella cella A2. Puoi inserire la data da controllare nella cella D1 e utilizzare la seguente formula:
=IF(AND(D1>=A1,D1<=A2),"Yes","No")
La formula verifica se la data in D1 è maggiore o uguale ad A1 e minore o uguale ad A2. Solo se queste due condizioni sono soddisfatte viene restituito “Sì”, altrimenti viene restituito “No”. (Vedi figura 1.)
Figura 1. Confronto dei numeri per determinare quale è maggiore o minore e tra il massimo e il minimo.
Se pensi che le date includano gli orari, potresti volerlo modificare eliminando la parte del numero di serie che rappresenta l’ora:
=IF(AND(TRUNC(D1,0)>=TRUNC(A1,0),TRUNC(D1,0)<=TRUNC(A2,0)),"Yes","No")
Se stai effettivamente confrontando stringhe di testo e date Excel non riconosciute, dovrai utilizzare la funzione DATEVALUE per convertire le stringhe in date:
=IF(AND(DATEVALUE(D1)>=DATEVALUE(A1),DATEVALUE(D1)<=DATEVALUE(A2)),"Yes","No")
Il risultato dell’utilizzo della funzione DATEVALUE sarebbe simile alla figura seguente: (Vedi figura 2.)
Figura 2. Confronto di stringhe di testo utilizzando la funzione DATEVALUE per convertire le stringhe in date.
Ciascuna delle formule, finora, è stata la stessa formula di base; l’unica differenza tra loro è l’aggiunta di funzioni aggiuntive per compensare le caratteristiche di come le date vengono memorizzate nelle celle. Per un modo completamente diverso di determinare se una data è tra due altre date, potresti usare il seguente approccio formulato:
=IF(D1=MEDIAN(D1,A1,A2),"Yes","No")
Poiché la funzione MEDIANA viene calcolata utilizzando tre numeri, restituisce sempre il numero compreso tra il numero inferiore e quello superiore. Ciò significa che se D1 è davvero tra gli altri due, verrà sempre restituito; se D1 non è tra gli altri due, verrà restituito uno degli altri.
È interessante notare che se hai riorganizzato un po ‘i tuoi dati in modo che i tre valori fossero adiacenti l’uno all’altro (ad esempio, spostando la data di confronto da D1 ad A3), potresti sostituire i tre riferimenti di cella separati con un intervallo delle tre celle , rendendo la formula ancora più breve:
=IF(A3=MEDIAN(A1:A3),"Yes","No")
Il vantaggio dell’utilizzo dell’approccio MEDIAN all’approccio AND è che non è necessario preoccuparsi di quale dei valori dell’intervallo (A1 o A2) sia la data di inizio o di fine per il confronto: la funzione MEDIAN ordina tutto. (Vedi figura 3.)
Figura 3. Confronto dei valori utilizzando la funzione MEDIAN.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (12742) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.