celle alterne



  • celle alterne
    di griorgio (utente non iscritto) data: 10/10/2016 16:56:38

    Salve a tutti,

    cortesemente una formula che mi calcoli:
    C10:XB10 a celle alterne tutti i valori che segno in A3;
    il risultato o meglio la formula andrebbe scritta in XC10
    e poi da trascinare in giù QB.
    Spiego meglio a celle alterne: c10-e10-g10-i10-k10-eccetera
    Grazie



  • di patel data: 10/10/2016 17:40:34

    allega un file di esempio con dati e risultato desiderato





  • di Mister_x (utente non iscritto) data: 10/10/2016 20:15:32

    ciao

    tanto per passare il tempo, una funzione da inserire in un modulo versatile sia in orizzontale che verticale

    utilizzo
    =SumAlterna( dove si trova il valore ; il Range dove cercare ; ogni quanti step calcolare )
    =sumalterna(A1;C1:R1;1) A1 il valore ; C1:R1 il Range ;1 uno si e uno no
    PS se metti 0 somma tutte le celle

    ciao
     
    Option Explicit
    Public Function SumAlterna(Valore As Double, Celle As Range, Ste_p As Integer) As Double
    Dim celV As Variant
    Dim i As Long
    Dim SA As Double
    SA = 0
    i = 0
    For Each celV In Celle
     If i = 0 And celV = Valore Then
      SA = SA + celV
      i = i + 1
     ElseIf i <= Ste_p Then
      i = i + 1
     Else
      i = 0
     End If
    Next
    SumAlterna = SA
    End Function





  • celle alterne
    di griogio (utente non iscritto) data: 10/10/2016 21:43:20

    =sumAlterne($c10:Ax10;1)
    cella del risultato AY10

    Salve Mister_X
    è così che devo scrivere la formula?
    e l'intervallo va bene?
    e dove ottenere il risultato?

    però adesso mi da valore
    ? modulo versatile???
    Salve



  • di Mister_x (utente non iscritto) data: 10/10/2016 23:47:48

    ciao

    tuo intervento
    ----------------------------------
    cortesemente una formula che mi calcoli:
    C10:XB10 a celle alterne tutti i valori che segno in A3;
    il risultato o meglio la formula andrebbe scritta in XC10
    e poi da trascinare in giù QB.
    Spiego meglio a celle alterne: c10-e10-g10-i10-k10-eccetera
    --------------------------------------------
    tutti i valori che segno in A3 da C10:XB10 in XC10
    a celle alterne: c10-e10-g10-i10-k10-eccetera

    quindi la formula pressapoco con i tuoi dati e la seguente
    XC10 =sumalterna($A$3;C10:XB10;1)

    ciao





  • celle alterne
    di griogio (utente non iscritto) data: 11/10/2016 07:59:01



    XC10 =sumalterna($A$3;C10:XB10;1); così mi da zero mentre dovrebbe essere 1
    e perchè non =sumalterna(C10:XB10;1) oppure =sumalterna(C10:XB10;$A$3) ?

    Ho indicato XC10 che sarebbe CX10(refuso)

    ma essendo una function da mettere in qualunque
    posto del foglio.
    salve



  • di Mister_x (utente non iscritto) data: 11/10/2016 09:47:00

    ciao

    prova a postare un file con qualche riga di valori , e il risultato che si dovrebbe ottenere alla fine di tutto

    per la funzione che ti ho proposto, ti ho detto che era versatile
    sumalterna($A$3"qui e dove tu metti il valore di ricerca";C10:XB10"questo e' il range() dove ricercare";1"questo e' quanto tu vuoi saltare le celle")

    con il VBA per fare questo lavoro di metodi ce ne sono a bizzeffa, serve sempre capire cosa si vuole ottenere alla fine del lavoro
    quindi posta un file con dei dati inseriti e il risultato finale che vuoi ottenere

    PS colora le celle interessate
    ess. A3 di verde
    il Range("C10:XB10") Giallo
    dove va il risultato XC10 Rosso

    ciao






  • di griorgio (utente non iscritto) data: 11/10/2016 10:26:13

    Salve Mister_X,

    mi pare di aver allegato i file,
    non ci h capito dice che il file si può scaricare dalla discussione.

    Nell'esempio l'intervallo è stato cambiato penso si relativo, vero?

    I colori gialli sono le posizioni alterne mentre quelle verdi sono i dati
    da totalizzare nel caso si scegli UNO.
    Ciao



  • di Mister_x (utente non iscritto) data: 11/10/2016 10:48:25

    riciao

    modifica alla funzione, in quanto tu volevi un conta.se() e non un somma.se() alternato

    ti posto il tuo file con la modifica

    PS il valore 0 e' = ad un salto 1 a due salti ecc. ecc.

    ciao
     
    Option Explicit
    Public Function SumAlterna(Valore As Double, Celle As Range, Ste_p As Integer) As Double
    Dim celV As Variant
    Dim i As Long
    Dim SA As Double
    SA = 0
    i = 0
    For Each celV In Celle
     If i = 0 And celV = Valore Then
      SA = SA + 1
      i = i + 1
     ElseIf i <= Ste_p Then
      i = i + 1
     Else
      i = 0
     End If
    Next
    SumAlterna = SA
    End Function
    






  • di griorgio (utente non iscritto) data: 11/10/2016 12:43:33

    Salve Mister_X,

    innanzitutto ti ringrazio per le volte che sei intervenuto
    MA
    cosa strana sul mio file ho posto la formula su più colonne
    in quanto deve totalizzare i diversi e vari numeri cioè dell' 1, del 2; del 3
    e di questi ci sono 2 tipi di fasce una con inizio dispari nel senso 1-3-5-7 eccetera
    e una 2-4-6-8 eccetera in cui sia nell'una che nell'altra mi deve conteggiare i valori
    ora ho provato riprovato alcune funzionano cioè mi danno i risultato esatto
    mentre altre volte dati sbagliati.

    Chiarisco che il file che mi hai allegato(quello tuo) funziona BENE
    mentre il mio (forse per la vecchiaia) non tanto.
    In verità vorrei inviarti il file completo perchè ci sarebbe da sistemare qualche altra cosa ma
    è pesante 6000 KB non so se sei disposto e non so se lo posso allegare.
    Non saprei la tua disponibilità.
    Cmq grazie



  • di Luca73 data: 11/10/2016 13:53:50

    Ciao A tutti
    Giusto per Sfizio
    Una delle formule diretta Excel che ti calcola quanto richiesto è:

    =MATR.SOMMA.PRODOTTO(--(C10:Q10=$S$9);--(RESTO(RIF.COLONNA(C10:Q10);2)=1))

    Usando il tuo foglio.
    Ciao Luca





  • di griorgio (utente non iscritto) data: 11/10/2016 14:37:26

    Ciao Luca,

    la tua curiosità ha avuto successo: OK
    però devo averlo distolto dalla richiesta con l'aggiunta di diverse variazioni.
    Insomma la colpa è principalmente mia ma in effetti la Function funziona bene
    evidentemente c'è qualcosa di strano sul mio foglio.
    Ma a parte la tua matriciale funziona anche senza le graffe?

    la formuletta qui sotto è quella che usavo dico usavo.
    Grazie ad entrami.

    un PS. Mp esiste?

    =CONTA.SE($C130;AY$6)+CONTA.SE($E130;AY$6)+CONTA.SE($G130;AY$6)+CONTA.SE($I130;AY$6)+CONTA.SE($K130;AY$6)+CONTA.SE($M130;AY$6)+CONTA.SE($O130;AY$6)+CONTA.SE($Q130;AY$6)+CONTA.SE($S130;AY$6)+CONTA.SE($U130;AY$6)+CONTA.SE($W130;AY$6)+CONTA.SE($Y130;AY$6)+CONTA.SE($AA130;AY$6)+CONTA.SE($AC130;AY$6)+CONTA.SE($AE130;AY$6)+CONTA.SE($AG130;AY$6)+CONTA.SE($AI130;AY$6)+CONTA.SE($AK130;AY$6)+CONTA.SE($AM130;AY$6)+CONTA.SE($AO130;AY$6)+CONTA.SE($AQ130;AY$6)+CONTA.SE($AS130;AY$6)+CONTA.SE($AU130;AY$6)+CONTA.SE($AW130;AY$6);- uno per uno

    Grazie con risposta a2 quesiti



  • di Luca73 data: 11/10/2016 15:18:41

    Ciao
    non è matriciale nel senso che non richiede le graffe (questo in quanto la funzione MATR.SOMMA.PRODOTTO vuole di suo dei vettori e dà come risultato un valore singolo.
    per le altre celle (quelle pari basta modificarla così:
    =MATR.SOMMA.PRODOTTO(--(C10:Q10=$S$9);--(RESTO(1+RIF.COLONNA(C10:Q10);2)=1))

    Ciao
    Luca





  • di griorgio (utente non iscritto) data: 13/10/2016 18:14:55

    Salve Mister X, Luca,

    avevo chiesto se c'è un MP per contatti privati.

    Ciao



  • di Luca73 data: 14/10/2016 09:39:25

    Cosa è un MP?





  • di alfrimpa data: 14/10/2016 09:43:46

    Ciao a tutti

    Gli MP sono i messaggi privati che su questo forum non sono disponibili.

    Alfredo





  • di griorgio (utente non iscritto) data: 14/10/2016 12:37:58

    Salve Luca,

    Alfrimpa ha risposto per me.

    Praticamente un contatto privato.

    Saluti




  • di alfrimpa data: 14/10/2016 13:49:06

    Griorgio direi che non è mai una buona idea pubblicare su un forum pubblico un contatto privato.

    Alfredo





  • di griorgio (utente non iscritto) data: 14/10/2016 16:32:15

    Ciao Alfrimpa,

    solo stavo chiedendo se c'è un modo
    ma pubblicare i dati non ci penso.

    Ciao