Valore di somma restituito dalla funzione Excel


0

Ho una funzione:

=IF(Matis!A8="",0,IF(OR(Matis!A8=$B$11,Matis!A8=$B$12,Matis!A8=$B$13,Matis!A8=$B$14,Matis!A8=$B$15,Matis!A8=$B$16,Matis!A8=$B$17,Matis!A8=$B$19,Matis!A8=$B$31,Matis!A8=$B$35),8,10))

Che guarda la cella A8 sul foglio 'Matis' e controlla cosa è contro una serie di celle sul foglio in cui è scritta la funzione, e restituisce un valore basato su ciò che trova.

Ad esempio, guarda Matis! A8 e vede che è uguale a B11 e restituisce 8.

Sto cercando di renderlo tale che la funzione guardi dall'alto verso il basso da say A8: A100 su 'Matis' e riassuma il risultato per ogni cella.

Ad esempio se guardava A8 e restituiva 8, A9 e restituiva 10, A10 e restituiva 10, la funzione restituiva 8 + 10 + 10 = 28.

Attualmente stampo tutti i risultati su una colonna diversa trascinando la formula verso il basso, quindi sommare quella colonna, ma vorrei che tutto ciò fosse fatto in una cella

Ho visto SUMIF, SUMIFS e SUMPRODUCT in giro, ma non sono sicuro di quale, se qualcuno di loro dovrei usare qui. Qualcuno ha qualche suggerimento? Spero di averlo spiegato abbastanza bene.

Risposte:


0

È possibile utilizzare una semplice formula IF con una combinazione con un input di array. Screenshot allegato qui sotto.

assumendo:

  • Le celle A1: A10 contengono dati che devono essere confrontati con la cella F1 (valore di input)
  • Il valore corrispondente da prendere se abbinato è presente in B1: B10

Adesso

  • Imposta una formula IF rispetto all'intero intervallo A1: A10 e se è true restituire l'intervallo B1: B10

  • Incorpora questa istruzione IF all'interno di una formula SUM e usa Ctrl + Maiusc + Invio per far sapere a Excel che questo deve essere trattato come una formula di matrice.

enter image description here


Nel tuo esempio, la mia funzione guarderebbe B1 e la confronterà con A1, se A1 ha scritto "Buono" e B1 ha scritto "Buono", restituisce 8, qualsiasi altra cosa restituisce 10. Quindi (questa è la parte Non posso fare), guarda in basso il resto della colonna B, controllando il contenuto contro A1 e restituendo 8 o 10 dipendenti, mantenendo una somma cumulativa che la funzione restituisce alla fine.
Tom

Con lo scenario come da tuo commento, puoi provare questo =SUM(IF(A1=B1:B10,8,10)) e inseriscilo come una formula di matrice. Questo dovrebbe essere sufficiente.
Bharat Anand

Ok grazie, che funziona per provare a fare solo un argomento di A1, ho provato ad estenderlo per lavorare su più, cioè = SUM (IF (OR (A1 = B1: B10, A2 = B1: B10), 8, 10))) ma questo non sembra controllare singolarmente, piuttosto se ANY di B1: B10 sono uguali a EITHER o A1 o A2, 8 viene restituito per tutti i valori della somma. Ad esempio: se A1 = blu, A2 = verde e B1 = arancione, B2 = verde, B3 = nero. Il valore restituito dalla funzione è 8 + 8 + 8 = 24 anziché il valore corretto di 10 + 8 + 10 = 28,
Tom

Dai un'occhiata a questo link, potrebbe venire in tuo soccorso, altrimenti darò un'occhiata entro stasera - stackoverflow.com/questions/28617944/...
Bharat Anand

Prova questo =SUM(IF(A1:A2=TRANSPOSE(B1:B3),8,10)). Con questo codice, è ora possibile eseguire iterazioni sugli elementi nella colonna A. Non dimenticare di inserirlo come una formula di matrice
Bharat Anand
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.