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.
(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)