• Bannato User Attivo

    Sommare caselle excel contrassegnate di un elenco

    Salve.
    Mi sto scervellando per cercare di capire come risolvere questo problema.
    Ho un elenco di nomi in colonna A con a fianco alcune X in colonna B

    A B
    1 Casa X
    2 Auto
    3 Casa X
    4 Fiori
    5 Orologio
    6 Casa X
    7 Fiori
    8 Casa

    Col passare del tempo vengono inseriti dei nomi nuovi in colonna A e alcune X in colonna B.
    Allora, io dovrei creare una formula da mettere in questo caso in B8 che poi viene trascinata in tutte le celle della colonna B, che controlla la cella a fianco della stessa riga (in questo caso la A8) quante volte è presente nell'elenco, ma solo nel caso in cui vi è la X nella riga corrispondete.
    Quindi, in questo caso in B8 ci deve venir scritto 3, in B7 scritto 0 ecc.

    Contare tutte le volte che compare la parola affiancata dalla X: non dovrebbe essere una formula complicata, ma non ci salto fuori..

    Grazie in anticipo a chiunque mi aiuterà.


  • User Attivo

    mi è venuto in mente qualcosa del genere

                                                                                     
    Casa             X              1                               
    Auto                             0                               
    Casa             X             1
    Fiori                             0                               
    Orologio                      0 
    Casa             X             1
    Fiori                              0 
    Casa                             0  
    
    ```dove le formule sono
    
    

    Casa X SE(B1="X";1;0)
    Auto SE(B2="X";1;0)
    Casa X SE(B3="X";1;0)
    Fiori SE(B4="X";1;0)
    Orologio SE(B5="X";1;0)
    Casa X SE(B6="X";1;0)
    Fiori SE(B7="X";1;0)
    Casa SE(B8="X";1;0)

    Per sommare come vorresti tu si potrebbe fare con visual basic for excel con il comando "for" domani ci provo poi ti faccio sapere, sempre che a qualcuno non venga in mente un modo più semplice; che comunque c'è ad esempio fare la somma delle celle 0-1 su una colonna affianco ma dovresti aumentare la sommatoria di una riga ogni volta...

  • User Attivo

    Ciao eccoti (credo) risolto il problema ti ho fatto una macro per le prime 100 righe ovviamente se te ne servono di più basta modificare nella macro dove c'è scritto

    for 1 to 100
    ```al posto di 100 metti il numero di righe che ti serve
    
    per qualsiasi altra modifica se non sei ferrato di macro fammi sapere (ps. la terza colonna se vuoi si può nascondere)
    
    il file è allegato :ciauz:

  • Bannato User Attivo

    @gatzu said:

    Ciao eccoti (credo) risolto il problema ti ho fatto una macro per le prime 100 righe ovviamente se te ne servono di più basta modificare nella macro dove c'è scritto

    >for 1 to 100
    >```al posto di 100 metti il numero di righe che ti serve
    
    per qualsiasi altra modifica se non sei ferrato di macro fammi sapere (ps. la terza colonna se vuoi si può nascondere)
    
    il file è allegato :ciauz:
    
    intanto grazie.
    nel frattempo avevo trovato questa soluzione:
    =MATR.SOMMA.PRODOTTO(($A$1:$A$8=A1)*($B$1:$B$8="X"))
    
    ma è lenta. ci mette 4 secondi ogni volta...:x
    
    mo, provo la macro..:?

  • Bannato User Attivo

    ho provato la macro (che inserisce poi delle formule...)
    direi che non va bene...:x

    non capisce la differenza delle celle della prima colonna e quindi le somma indifferentemente.

    a me serve che sommi solo quelle con lo stesso valore in colonna A. :mmm:


  • User Attivo

    Non ho capito allora cosa volevi fare. la macro controlla dove sono le X e ti dice ogni volta che la X appare quante volte è apparsa, invece a te serve che ti dica quante volte appare tipo casa, auto? :mmm:


  • Bannato User Attivo

    si, esattamente, ma nel modo più veloce possibile..


  • Bannato User Attivo

    alla fine ho risolto così:

    =MATR.SOMMA.PRODOTTO(--($A$1:$A8=A1);--($B$1:$B8="X"))

    grazie a tutti