Emin ha un intervallo di celle in cui possono essere presenti testo o numeri.

Ha bisogno di un modo per determinare il numero pari più piccolo nell’intervallo. Emin si chiede se questo possa essere fatto con una formula o se ha bisogno di una funzione definita dall’utente.

Ci sono un paio di modi per affrontare questo problema. Un metodo che puoi provare è utilizzare la funzione DMIN. Tutto ciò di cui hai bisogno è assicurarti di avere un’intestazione nella tua colonna di dati (come “MyData”) e quindi creare un piccolo campo di criteri in un posto fuori mano. Ad esempio, potresti voler creare il campo dei criteri inserendo un’intestazione (come “Min Even”) nella cella F1 e inserire la formula = ISEVEN (MyData) nella cella F2. La cella F2 restituisce un #VALORE! errore, ma in questo caso va bene. È quindi possibile utilizzare la seguente formula in una cella diversa:

=DMIN(A1:A100, 1, F1:F2)

Se preferisci, puoi utilizzare una formula di matrice per calcolare il valore pari più basso. Poiché l’intervallo di dati può contenere testo e numeri, non tutte le formule di matrice funzioneranno, tuttavia. Ad esempio, quanto segue genererà un errore se c’è qualcosa di diverso da numeri nell’intervallo di dati:

=MIN(IF(MOD(A1:A100,2)=0,A1:A100))

Per assicurarti di non ricevere errori, devi fare un po ‘di controllo nella formula:

=MIN(IF(ISNUMBER(A1:A100),IF(NOT(MOD(A1:A100,2)=0),"",A1:A100)))

Ancora una volta, ricorda che questa è una formula di matrice, quindi devi inserirla usando Maiusc + Ctrl + Invio.

Se preferisci, puoi creare una funzione definita dall’utente che restituirà il valore desiderato:

Function MinEven(rng As Range)

Dim rCell As Range     Dim bNotFound As Boolean

Application.Volatile     MinEven = 9.99 * 10 ^ 307     bNotFound = True     For Each rCell In rng         If Application.WorksheetFunction.IsNumber(rCell) Then             If rCell Mod 2 = 0 Then                 If rCell < MinEven Then                     MinEven = rCell                     bNotFound = False                 End If             End If         End If     Next     If bNotFound Then MinEven = CVErr(xlErrNum)

End Function

Per usare questa macro, usa semplicemente quanto segue con una cella del tuo foglio di lavoro:

=MinEven(A1:A100)

Se non sono presenti numeri pari nell’intervallo, la funzione restituirà un errore #Num.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (124) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: