Media formula Excel senza celle vuote


0

Ho una riga di valori e voglio trovare la media dei primi 3, senza contare le celle vuote. Esempio:

  ABCDEFG
 12 vuoto 8 vuoto 7 9 4

La media delle prime 3 celle non vuote dovrebbe essere 9, ma non riesco a trovare una formula che calcolerà questo per me. Qualcuno può aiutare?

Risposte:


1

In A2 inserire:

=IF(A1="",0,1)

e in B2 inserire:

=IF(OR(B1="",SUM($A$2:A2)=3),0,1)

e copia attraverso. Quindi in un'altra cella inserisci:

=SUMPRODUCT((1:1)*(2:2))/3

inserisci qui la descrizione dell'immagine


0

Stai cercando la funzione MEDIA . Secondo la sintassi della formula e l'utilizzo per la funzione MEDIA di Excel:

Se un argomento o un argomento di riferimento di cella contiene testo, valori logici o celle vuote , tali valori vengono ignorati; tuttavia, sono incluse le celle con il valore zero.

La formula =AVERAGE(A1:E1)restituisce 9:

inserisci qui la descrizione dell'immagine


Bene, se sarà sempre il caso che A1= 12, B1= vuoto, C1= 8, D1= vuoto e E1= 7, l'OP non ha bisogno di una formula; sa che la risposta è 9. Penso che il punto sia che l'OP non sappia in anticipo quali celle avranno numeri e quali saranno vuote. Quindi, se B1ha un numero (così come A1e C1), allora il risultato desiderato è AVERAGE(A1:C1)e la tua risposta produce un risultato errato.
Scott,

L'OP ha dichiarato chiaramente che non riesco a trovare una formula che calcolerà questo per me . Come ogni utente di Excel, ha bisogno della formula corretta e della corretta applicazione della formula (ad es. Quale intervallo alla media) per produrre il risultato desiderato.
Twisty Impersonator,

0

Soluzione 1

Forza bruta: la media desiderata può essere calcolata da:

= SE (COUNT ($ A1: $ C1) = 3, MEDIA ($ A1: $ C1),
 SE (COUNT ($ A1: $ D1) = 3, MEDIA ($ A1: $ D1),
 SE (COUNT ($ A1: $ E1) = 3, MEDIA ($ A1: $ E1),
 SE (COUNT ($ A1: $ F1) = 3, MEDIA ($ A1: $ F1),
 IF (COUNT ($ A1: $ G1) = 3, MEDIA ($ A1: $ G1), "oops")))))

(Versione a riga singola :)
 = IF (COUNT ($ A1: $ C1) = 3, MEDIA ($ A1: $ C1), IF (COUNT ($ A1: $ D1) = 3, MEDIA ($ A1: $ D1 ), IF (COUNT ($ A1: $ E1) = 3, MEDIA ($ A1: $ E1), IF (COUNT ($ A1: $ F1) = 3, MEDIA ($ A1: $ F1), IF (COUNT ( $ A1: $ G1) = 3, MEDIA ($ A1: $ G1), "oops")))))

che cerca il sottoinsieme iniziale più breve della riga che contiene tre numeri e lo media. Questo diventa non solo imbarazzante per un gran numero di colonne, ma può effettivamente fallire abbastanza rapidamente, poiché (credo) IF()ha un limite di nidificazione abbastanza basso.

Soluzione 1.9

Finezza.

Lo chiamo "1.9" perché non è ancora stato fatto. L'espressione

SMALL(IF(ISNUMBER($A1:$G1),COLUMN($A1:$G1),""), {1,2,3})

(utilizzato in una formula di matrice) trova i numeri di colonna dei primi tre numeri nella riga 1. Il

IF(ISNUMBER($A1:$G1),COLUMN($A1:$G1),"")

parte valuta

IF( {TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE}, {1,2,3,4,5,6,7}, "" )

che riduce a

{ 1, "", 3, "", 5, 6, 7 }

e SMALL(…, {1,2,3})di quanto sopra produce { 1, 3, 5 }. Dovrebbe essere una semplice questione di dire

=AVERAGE(INDEX($A7:$G7, 1, SMALL(IF(ISNUMBER($A7:$G7),COLUMN($A7:$G7),""),{1,2,3})))

o

=AVERAGE(OFFSET($A7:$G7, 1, SMALL(IF(ISNUMBER($A7:$G7),COLUMN($A7:$G7),""),{1,2,3})))

ma restituiscono il valore di A1(12) o un errore ( #DIV/0!o #REF!). Non riesco a capire come finirlo.

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.