Trovare la data associata a un valore negativo

Stefano ha una serie di letture in un foglio di lavoro. Nella prima colonna ha le date associate alle letture e nella seconda colonna ha le letture effettive. Stefano vorrebbe avere una formula che restituisca la prima data in cui una lettura è diventata negativa. In altre parole, la formula dovrebbe cercare il primo valore negativo nella seconda colonna e quindi restituire la data associata a tale valore. Possono esserci più valori negativi nella seconda colonna, ma ha bisogno solo della data associata al primo valore negativo.

Esistono diversi modi per affrontare questo problema. Tutti i metodi presuppongono che le date nella colonna A siano in ordine crescente mentre le letture nella colonna B possono non avere alcun tipo di ordine distinguibile (in altre parole, le letture potrebbero rimbalzare sopra e sotto lo 0 in qualsiasi data).

A condizione che tu abbia un certo controllo sul layout del foglio di lavoro, puoi aggiungere una colonna di lavoro intermedia nella colonna C, utilizzata per indicare quando un valore è negativo. Basta inserire una formula come questa nella colonna C, a destra di ogni lettura:

=SE(B1<0;A1;"")

 

Questa formula restituisce la data nella colonna A se il valore in B è inferiore a 0 (negativo), altrimenti non restituisce nulla. Tutto quello che devi fare è cercare il valore minimo nella colonna C:

=MIN(C:C)

 

Formatta il risultato come data: essa rappresenta la data in cui le letture sono diventate negative per la prima volta.

Un altro approccio consiste nel rinunciare all’uso della colonna intermedia e utilizzare una formula di matrice per determinare la data. Supponendo che i dati siano compresi nell’intervallo A1:B42, puoi utilizzare una delle seguenti formule:

=MIN(SE(B1:B42<0;A1:A42;""))
=SCARTO($A$1;CONFRONTA(VERO;$B$1:$B$42<0;0)-1;;;)
=INDICE(A:A;MIN(SE(B1:B42<0;RIF.RIGA(B1:B42))))
=INDICE(A1:A42;CONFRONTA(VERO;B1:B42<0;0))
=INDIRETTO("A"&MIN(SE(B1:B42<0;RIF.RIGA(B1:B42)));VERO)

 

Ricorda che queste sono tutte formule di matrice, quindi devi inserire quella che scegli premendo Maiusc + Ctrl + Invio (se utilizzi Excel 2021 o la versione di Excel fornita con Microsoft 365, non è necessario premere Maiusc+Ctrl+Invio; puoi semplicemente premere Invio). Formatta il risultato come una data ed è la risposta che cerchi.

Se preferisci, puoi anche utilizzare una semplice macro per determinare la data:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Nel tuo foglio di lavoro, useresti questa funzione definita dall’utente in questo modo:

=GetFirstNegative(B1:B42)

 

 

Tags: , , , , , , , , , ,

Ti è stato utile?