Risposte:
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
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
:
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.
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.
A1
= 12,B1
= vuoto,C1
= 8,D1
= vuoto eE1
= 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, seB1
ha un numero (così comeA1
eC1
), allora il risultato desiderato èAVERAGE(A1:C1)
e la tua risposta produce un risultato errato.