Converti la somma in più passaggi di booleani in un'unica formula


10

Ho alcune letture del sensore e sto controllando per vedere se i valori sono nell'intervallo accettabile.

Per fare ciò, uso un IFper verificare se i valori sono >o <il valore (medio) calcolato. I risultati sono memorizzati nelle rispettive colonne. Infine riassumo i risultati per ottenere il conteggio di quanti sono fuori limite (cioè sopra la media).

Ad esempio, Axviene confrontato con Mean. Axper ottenere uno 1o 0dentro If value is outside accepted bounds. Ax:

Immagine 1

Quindi la somma di If value is outside accepted bounds. Axviene eseguito per ottenere Number of values outside bound. Ax:

Immagine 2, sommatoria

Domanda
Come posso convertirlo in un'unica formula?

Risposte:


11

La funzione che stai cercando è COUNTIF():

Schermata del foglio di lavoro

Inserisci la seguente formula in G3e ctrl-invio / copia-incolla / riempi-destra in G3:I3:

=COUNTIF(A3:A8,">"&D3)

COUNTIF() controlla ogni valore nel primo argomento rispetto ai criteri nel secondo e conta il numero di volte che viene soddisfatto.


L'utilizzo COUNTIF()è la soluzione più semplice e migliore.

Certo, potresti usare una formula più complicata / più difficile da capire come

=SUMPRODUCT(--(A3:A8>D3))

o un array ne ha inserito uno simile

{=SUM(--(A3:A8>D3))}

o anche una versione più inutilmente complicata di quelli.

Tuttavia, non è possibile trarre vantaggio dall'utilizzo di uno di questi in questo caso particolare.


Infatti, poiché sembri essere interessato a ridurre il numero di colonne helper, una soluzione complessiva ancora migliore sarebbe quella di rinunciare anche alle colonne helper medie:

Schermata del foglio di lavoro

Inserisci la seguente formula in D3e ctrl-invio / copia-incolla / riempi-destra in D3:F3:

=COUNTIF(A3:A8,">"&AVERAGE(A3:A8))

(E sì, questa formula potrebbe anche essere resa più difficile da capire per un principiante convertendola in =SUMPRODUCT(--(A3:A8>AVERAGE(A3:A8)))o {=SUM(--(A3:A8>AVERAGE(A3:A8)))}.)


@AFH Grazie per la modifica (e il voto ;-)). Mi chiedo come sia successo? E, soprattutto, come non l'ho notato ¯ \ _ (ツ) _ / ¯
robinCTS

Congratulazioni. I robot di sistema selezionano post molto apprezzati da utilizzare come audit nella coda di revisione di LQP. Questo è stato selezionato come un post di "bassa qualità" - un distintivo d'onore. :-)
fixer1234

@ fixer1234 Oh, certo (-‸ლ) fornisco tre soluzioni alternative per il problema Y e quindi procedo a fornire una soluzione X-problem. Inoltre, offro una spiegazione di come COUNTIF()funziona la funzione. Chiaramente questa risposta è di bassa qualità! La prossima volta mi limiterò a seguire una sola riga, il codice risponde solo. (PS Ho appena controllato la cronologia . Sembra che tu abbia fallito l'audit - hai selezionato Looks OK;-))
robinCTS

2

La funzione SUMPRODUCT può anche risolvere il tuo problema.

inserisci qui la descrizione dell'immagine

Scrivi questa formula in G102 e riempila subito da G102 a I102:

=SUMPRODUCT(--(A102:A107>D102:D107))

NB Regola l'indirizzo della cella nella formula in base alle tue necessità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.