Ronald importa una serie di misurazioni del livello del segnale come una serie di valori in Excel. Deve contare quanti gruppi consecutivi di valori esistono in questa serie che scendono al di sotto di una certa soglia. Ad esempio, potrebbe avere le seguenti misure:

27, 22, 22, 30, 32, 18, 22, 23, 28, 39, 24, 27, 35, 25, 21

Se vuole conoscere il numero di raggruppamenti in cui i membri di quei raggruppamenti erano inferiori a 26, la risposta sarebbe 4. Notare che questo è il raggruppamento di valori consecutivi inferiore a 26, non il numero di singoli valori inferiori a 26. Quindi, in questo caso, i quattro raggruppamenti sarebbero indicati dalle parentesi nel seguente:

27, [22, 22], 30, 32, [18, 22, 23], 28, 39, [24], 27, 35, [25, 21]

Ronald si sta chiedendo che tipo di formula può usare per calcolare il numero di raggruppamenti che scendono al di sotto di una soglia arbitraria che potrebbe specificare.

In realtà ci sono molti modi diversi per affrontare questo problema. Il primo consiste nell’utilizzare una “colonna dei risultati” che essenzialmente annota i cambiamenti nella soglia e nel raggruppamento delle sequenze. Ad esempio, se avessi i valori sopra nella colonna A di un foglio di lavoro (a partire dalla cella A2) e il valore di soglia nella cella E1, potresti usare la seguente formula in ogni cella a destra di un valore nella colonna A:

=IF(A2>=$E$1,B1,IF(A1<$E$1,B1,B1+1))

La formula mantiene una somma parziale dei gruppi al di sotto della soglia. Il massimo (o l’ultimo valore) della colonna B fornisce il numero totale di gruppi al di sotto della soglia. La formula verifica se il valore immediatamente a sinistra, nella colonna A, è al di sopra o al di sotto della soglia.

Se è sopra, o se no e anche il valore precedente nella colonna A era sotto, allora non incrementa la somma parziale. In caso contrario, aumenta perché sta iniziando un nuovo raggruppamento.

Un modo correlato di fare il conteggio è usare questa formula nella colonna B, invece:

=IF(A2>=$E$1,0,IF(A1<$E$1,0,1))

Ciò si traduce nella colonna B contenente una serie di valori 0 o 1. L’unica volta che si verifica un valore 1 è all’inizio di una serie che è al di sotto della soglia. Ciò semplifica la somma di tutti i valori nella colonna B, che fornisce il conteggio dei raggruppamenti.

Se non desideri utilizzare la colonna dei risultati, puoi utilizzare una formula di matrice per calcolare il conteggio. La formula seguente presuppone, ancora una volta, che i valori da analizzare siano nella colonna A, a partire da A2, e che il valore di soglia sia nella cella E1. Ricorda anche che le formule di matrice vengono inserite premendo Ctrl + Maiusc + Invio.

=SUM(IF((A2:A16<$E$1)((A2:A16((A1:A15<$E$1)ISNUMBER(A1:A15))),1))

La formula fondamentalmente fa quello che ha fatto la precedente formula della colonna dei risultati (determina uno 0 o 1 in base se sta iniziando un raggruppamento sotto la soglia) e quindi somma quei valori.

Naturalmente, se esegui spesso questi tipi di confronti, potresti voler sviluppare la tua funzione definita dall’utente (una macro) per calcolare il conteggio dei raggruppamenti per te. Quello che segue è un esempio di tale funzione.

Function CountGroups(ByVal MyRange As Range, Threshold As Single)

Dim Cell As Range     Dim bInGroup As Boolean     Dim iCount As Integer

Application.Volatile     iCount = 0     bInGroup = False     For Each Cell In MyRange         If Application.IsNumber(Cell) Then             If Cell < Threshold Then 'Less than the threshold?

If Not bInGroup Then  'Only count if starting new group                     iCount = iCount + 1                     bInGroup = True     'Mark as being in group                 End If             Else                 bInGroup = False        'No longer in a group             End If         End If     Next     CountGroups = iCount End Function

La funzione esamina ogni cella in un intervallo e calcola se è l’inizio di un nuovo gruppo al di sotto della soglia o meno. Si utilizza la funzione utilizzando una formula come la seguente nel foglio di lavoro:

=CountGroups(A2:A16,E1)

_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 (8888) si applica a Microsoft Excel 2007, 2010 e 2013. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: