Somma con funzione SE



  • Somma con funzione SE
    di michele 1985 (utente non iscritto) data: 11/02/2014 17:30:03

    Ciao a tutti,
    se possibile vorrei un aiutino per effettuare un calcolo con dunzione SE.
    In pratica mi serve scrivere nella cella A1 la somma di tutti i valori "a destra" della cella che contiene il valore "ok"...sempre sulla stessa riga 1
    Esempio :
    nelle celle C1, D1 e E1 ci sono deii valori 1 , 5 , 7 poi nella cella F1 scrivo il valore "ok".
    Bene, ora la somma dei valori contenuti in G1, H1, I1, L1, M1 deve essere scritto nella cella A1

    grazie mille come sempre

    Michele



  • di Misyer_x (utente non iscritto) data: 11/02/2014 17:54:40

    ciao

    =SE(F1="OK";G1+H1+I1+L1+M1;"")

    ciao Mister_x



  • di patel data: 11/02/2014 19:42:41

    Michele, l'oggetto della discussione deve descrivere il problema, ricordatelo la prossima volta





  • di Vecchio Frac data: 11/02/2014 21:18:42

    L'ho notato solo ora, grazie a patel.
    Modifico di conseguenza e mi associo nel ricordare che i titoli delle discussioni devono essere consoni e attinenti l'oggetto della richiesta.




  • Somma con funzione SE
    di michele 1985 (utente non iscritto) data: 12/02/2014 11:01:14

    scusatemi ma non mi sono espresso correttamente....
    In realtà la formula deve controllare che ci sia scritto "ok" in una qualsiasi cella da B1 a Z1 e quando trova "ok" comincia a sommare tutti i valori a destra



  • di Santuberto (utente non iscritto) data: 12/02/2014 11:40:50

    Buongiorno. Io ci riesco solo con una colonna d'appoggio. Cordiali saluti, Santuberto



  • di Grograman (utente non iscritto) data: 12/02/2014 12:10:36

    Ma "OK" è presente solo una volta o si può ripetere?

    Se è UNIVOCO:

     
    =SOMMA(INDIRETTO("C"&CONFRONTA("OK";1:1;0)&":Z2"))



  • di michele 1985 (utente non iscritto) data: 12/02/2014 13:56:39

    purtroppo non funziona...inserendo la formula in A1 restituisce sempre 0 anche se in D1 scrivo "ok" e in E1, F1, G1 scrivo dei valori numerici...



  • di Mister_x (utente non iscritto) data: 12/02/2014 15:04:19

    ciao

    in A1
    =SOMMA(INDIRETTO(INDIRIZZO(RIF.RIGA();CONFRONTA("OK";B1:Z1;0)+2)):Z1)

    si intende che come detto da Grograman "OK" deve essere uno solo altrimenti prende sempre il primo iniziando dalla colonna a
    ciao mister_x





  • di michele 1985 (utente non iscritto) data: 12/02/2014 16:39:42

    perfetto....quasi...
    Cioè funziona bene però bisogna sostituire al +2 il valore +4 altrimenti conteggia anche il valore immediatamente precedente all' "ok"

    L'unico problema è che se ci sono, per sbaglio , due valori "ok" , come dicevi, conta sempre dal primo.
    Si potrebbe fare , al massimo, dall'ultimo?
    grazie



  • di Mister_x (utente non iscritto) data: 12/02/2014 23:20:00

    ciao michele
    ho preferito farti una funzione per questo lavoro, va inserita in un modulo e utilizzata con due parametri
    in A1=Som_az(Stringa da cercare; range di utilizzo) =Som_az("OK";B1:Z1)

    vedi il file allegato

    ciao da Mister_x

     
    Option Explicit
    Public Function Som_az(az As String, Rcel As Range)
    Dim celle As Range
    Dim conta As Double, cella As Variant
    conta = 0
    Set celle = Rcel
    For Each cella In celle
      If cella.Value = az Then
       conta = 0
      Else
       If IsNumeric(cella) Then conta = conta + cella.Value
      End If
    Next
    Set celle = Nothing
    Som_az = conta
    End Function
    






  • di michele 1985 (utente non iscritto) data: 17/02/2014 14:53:26

    purtroppo non funziona
    ho inserito la funzione sia nel Foglio1 che nel "this workbook"
    Come posso fare?



  • di Mister_x data: 17/02/2014 16:33:23

    ciao michele

    mi sa che non hai scaricato il file per vedere dove andava posta la funzione
    questa va messa in un modulo di classe essendo questa una funzione pubblica, quindi valida per tutto il file ,qualsiasi foglio tu la voglia utilizzare
    NO in nessun foglio o in "this workbook"
    il file resta disponibile mi sembra per 72 ore dopo viene eliminato quindi 3 giorni

    ti riposto ancora il file di prova denominato Somma_2003
    puo essere utilizzato dalla versione 97 alla 2013
    vedi dove lo trovi

    PS il modulo in VBA va inserito dalla barra di questi
    Inserisci
    Modulo

    ciao




  • di ninai (utente non iscritto) data: 17/02/2014 18:45:24

    Ciao a tutti
    un'alternativa con formule, per conteggiare dopo l'ultimo "OK":
    =SOMMA(INDIRETTO(INDIRIZZO(1;CERCA(2;1/(B1:Z1="ok");RIF.COLONNA(B1:Z1)))&":Z1"))



  • di ninai (utente non iscritto) data: 17/02/2014 18:56:48

    oppure:
    =SOMMA(SCARTO($B$1;;CERCA(2;1/(B1:Z1="ok");RIF.COLONNA(B1:Z1))-1;1;RIF.COLONNA(Z1)))

    funziona se a destra di Z1 non ci sono altri valori



  • di michele 1985 (utente non iscritto) data: 06/03/2014 13:01:39

    ottimo!!!
    grazie mille ragazzi!siete troppo preparati!