Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di aetio
    Registrato dal
    Jun 2010
    Messaggi
    14

    [Excel] contare un num. in una tab.solo se in un'altra tab.c'è un dato numero

    Salve,
    Ho due tabelle correlate: tab.1 da col A a col.G e tab.2 da col.H a col.AG sto cercando di scrivere una formula che mi restituisca in una cella a parte quante volte è presente un numero in una delle col. di tab.2 (ad es. il 149 in col AB) quando in una data col. di tab.1 è presente un dato numero (ad es. il 135 in col.D). La formula deve contare quante volte in col.AB è presente il 149 SOLO se il 135 di col.D è nella stessa riga...
    Esempio: quante volte compare in col. AE di tab.2 il 149 quando in col.D di tab.1 è presente il 135?
    Mi sono vergognosamente incartato con le funzioni SE e CONTA.SE perché mi da sempre errore…
    Grazie anticipato per l’aiuto
    Buona giornata,
    eZio

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    =MATR.SOMMA.PRODOTTO((AB1:AB100=149)*(D1:D100=135) )

    Modifica il limite inferiore secondo le tue esigenze.

    edit. Meglio ancora, per non dover di volta in volta modificare il limite inferiore

    =MATR.SOMMA.PRODOTTO(--(AB1:AB65535=149)*--(D1:D65535=135))

    :ciauz:

  3. #3
    Utente di HTML.it L'avatar di aetio
    Registrato dal
    Jun 2010
    Messaggi
    14
    Ciao!

    Eccola! Giuro che non sarei MAI riuscito a risolverla, pur avendo cercato e ricercato nel web, anche usando la funz. "cerca" nei vari forum... Grazie infinite e buona serata, come sempre sei un grande... mi hai risolto un problemaccio davvero serio!!
    eZio

    EDIT: già che il tema è ancora "caldo" stavo cercando di impostare una tabella riferita a quelle 2 viste sopra, con una griglia che mi permettesse, usando in ogni cella i riferimenti appropriati, la formula che mi hai risolto... Esempio: in col.A in senso crescente da 1 a 150 (tanti sono i numeri che si possono trovare nella tab.1) riferita a col.A della tab.1 e da col.B a col.FE (per le 150 righe) i 160 valori della tab2. Un'altra tabella simile per i numeri di col.B della tab.1 fino alla col.G
    C'è un modo per adattare in automatico la formula di cui sopra per ogni singola cella (ciscuna formula lavola per ciascuna cella, a seconda dell'appartenenza) senza che c'impieghi due mesi di continuo lavoro? )) Grazie assai...

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao. Mi spiace ma non mi è chiaro cosa vorresti fare.
    Soprattutto la discrepanza tra 150 e 160 come dovrebbe essere risolta?

    Magari carica su

    http://www.myfreefilehosting.com/

    un file di esempio (bastano poche righe, non 150-160) così ci intendiamo meglio.

  5. #5
    Utente di HTML.it L'avatar di aetio
    Registrato dal
    Jun 2010
    Messaggi
    14
    Eccolo QUI
    Spero che sia chiaro...
    ciascuna tabella ha in ascisse i numeri che sono in tab.2 e in ordinate i numeri di tab.1
    Grazie assai...
    eZio

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Scarica il file da qui

    http://myfreefilehosting.com/f/c39b975a17_0.07MB

    vai sul foglio3, lancia la macro tramite il pulsante che ti ho messo e dimmi se fa ciò che ti aspetti sulle prime colonne di tabella1 e tabella2.

  7. #7
    Utente di HTML.it L'avatar di aetio
    Registrato dal
    Jun 2010
    Messaggi
    14
    Scusa se ti rispondo solo ora, ma oggi ero in "trasferta"...

    Affermativo! Che grande...
    E' possibile inserire nella macro una funzione SE(VALORE NELLA CELLA=0;"")? così la cella rimane vuota, anziché con lo 0 dentro, il ché sarebbe davvero il massimo!!

    Grazie assai
    eZio

  8. #8
    Utente di HTML.it L'avatar di aetio
    Registrato dal
    Jun 2010
    Messaggi
    14
    scusa... scanso equivoci:
    SE(VALORE SCRITTO NELLA CELLA=0;"";SE(VALORE SCRITTO NELLA CELLA<>0;VALORE SCRITTO NELLA CELLA))
    ho provato ad inserire questa formula
    =SE(MATR.SOMMA.PRODOTTO(($A$3:$A$100=X3)*($G$3:$G$ 100=$AB$2))=0;"";SE(MATR.SOMMA.PRODOTTO(($A$3:$A10 0=X3)*($G$3:$G$100=$AB$2))<>0;MATR.SOMMA.PRODOTTO( ($A$3:$A100=X3)*($G$3:$G$100=$AB$2))))
    nella sua cella e funziona, ma in fatto di linguaggio VBA sono davvero una cippa... ho provato ad inserirla nel modulo in questo modo
    =if(sumproduct(($A$3:$A$100=X3)*($G$3:$G$100=$" & letterale & "$2))=0;"";if(sumproduct(($A$3:$A$100=X3)*($G$3:$G $100=$" & letterale & "$2))<>0;sumproduct(($A$3:$A$100=X3)*($G$3:$G$100= $" & letterale & "$2))))
    ma non funziona... ( era del tutto prevedibile ma solo così facendo s'impara davvero...)

    Grazie per tutto...
    ciauzz
    eZio

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Perchè usi due se annidati? Se non è uguale a 0 necessariamente sarà diverso.

    codice:
    Range(letterale & "3").Formula = "=if(sumproduct(($A$3:$A$100=X3)*($G$3:$G$100=$" & letterale & "$2))<>0,sumproduct(($A$3:$A$100=X3)*($G$3:$G$100=$" & letterale & "$2)),"""")"

  10. #10
    Utente di HTML.it L'avatar di aetio
    Registrato dal
    Jun 2010
    Messaggi
    14
    Originariamente inviato da nicola75ss
    Perchè usi due se annidati? Se non è uguale a 0 necessariamente sarà diverso.
    Ciao,
    Hai ragione!!...............ahahahah
    Che polloooooooo

    Posso farti un paio di domande per riuscire ad adattare la tua macro-dima alle mie tabelle?
    - quali sono i parametri che devo modificare nella macro?
    le mie tabelle1 e 2 in realtà’ attualmente hanno un range rispettivamente C4:G4699 e H4:AG4699 e ogni volta che aggiorno i dati aumentano di una riga, e vorrei posizionare la tabella di riferimento (quella che nel tuo file ha i riferim. ascisse in Y2 e i riferim. ordinate in X3) con i riferim. ascisse in AK3 e i riferim. ordinate in AJ4
    - la tua macro-dima col pulsante in Foglio3 lavora sui dati Foglio1 o su quelli di Foglio3? Cioè, in parole povere, gli aggiornamenti li devo fare nelle tabelle 1 e 2 di Foglio 3?
    Ho notato che ci sono altri moduli che si aprono in concomitanza con quello della macro: a) Modulo3, con l’istruzione ‘Function Num2Char(c As Integer) As String
    Num2Char = Split(Cells(1, c).Address, "$")(1)
    End Function’ che è ripresa nel le istruzioni della macro, ma che non ho ben capito... b) Foglio3 che ha le istruzioni delle operazioni da svolgere per redigere la tabella che interessa, contenente alcune istruzioni che non sono riuscito a capire (es. la tua nota ' contiene il riferimento letterale della colonna dopo la conversione dal riferimento numerico) c) Foglio1 e Foglio2, senza dati d) Thisworkbook, senza dati .

    Le macro e il liguaggio VBA mi appassionano molto, è un universo alfanumerico affascinante e complesso. Per fortuna che ci siete voi che mi date la possibilità di esserene un poco partecipe…
    Grazie infinite per l’aiuto che mi stai dando
    ciauzzz
    eZio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.