Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Conta se doppia condizione

Ultimo Aggiornamento: 27/01/2017 09:57
Post: 27
Registrato il: 18/07/2014
Città: NAPOLI
Età: 42
Utente Junior
Excel 2013
OFFLINE
26/01/2017 09:35

Buongiorno,
impostati i dati come nel file Esempio, ho fatto una macro che conti per ogni città il numero di occorrenze del mese.
Questa macro non funziona, perchè secondo voi?
Nella colonna C del file c'è il risultato atteso, mentre nella colonna D c'è il risultato della macro:

Sub prova()
ur = Worksheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Row
j = 2
For i = 2 To ur
Worksheets("Foglio1").Select
Set rangecitta = Worksheets("Foglio1").Range("A:A")
Set rangedata = Worksheets("Foglio1").Range("B:B")
citta = Worksheets("Foglio1").Range("A" & i)
data = Worksheets("Foglio1").Range("A" & i)
conta = Application.CountIfs(rangecitta, citta, rangedata, Month(data))
Range("D" & i).Value = conta
Next i
End Sub



Post: 2.666
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
26/01/2017 14:41

Scusa aikon in colonna D non c'è nulla.

Puoi ripostare il file con il risultato corretto inserito a mano?

Io ho provato la macro ma mi va in errore.

Alfredo
Post: 27
Registrato il: 18/07/2014
Città: NAPOLI
Età: 42
Utente Junior
Excel 2013
OFFLINE
26/01/2017 14:48

Ho rimesso l'allegato con la colonna D
Post: 2.672
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
26/01/2017 16:04

Ciao aikon

ma perché vuoi ricorrere al VBA quando puoi fare tutto con le formule?

In colonna E2 metti questa formula

=MESE(B2)


e trascini in basso.

In F2 metti questa

=CONTA.PIÙ.SE($A$2:$A$11;A2;$E$2:$E$11;E2)


e trascini in basso.

Alfredo
Post: 28
Registrato il: 18/07/2014
Città: NAPOLI
Età: 42
Utente Junior
Excel 2013
OFFLINE
26/01/2017 17:21

Mi serve il codice vba perchè questa procedura è all'interno di un processo un po' più ampio.
La procedura da te suggerita è possibile implementarla in vba?
Grazie.
Post: 2.676
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
27/01/2017 09:57

Ciao Aikon

Mi riesce difficile capire perché, anche in presenza di un progetto VBA, non possa usare le formule [SM=x423023] comunque in colonna D da D2 in poi inserisci la formula (eventualmente nascondi la colonna D)

=MESE(B2)


ed esegui questa macro

vb
Sub ContaPiu()
Dim i As Long
Dim mese As Integer
Dim urCitta As Long
Dim urMeseData As Long
Dim conta As Long
Dim rngCitta As Range
Dim rngMeseData As Range
urCitta = Cells(Rows.Count, 1).End(xlUp).Row
urMeseData = Cells(Rows.Count, 4).End(xlUp).Row
Set rngCitta = Range("A2:A" & urCitta)
Set rngMeseData = Range("d2:d" & urMeseData)
For i = 2 To urMeseData
    conta = Cells(Rows.Count, 3).End(xlUp).Row
    mese = Month(Range("c" & i).Offset(0, -1).Value)
    Cells(conta + 1, 3).Value = Application.WorksheetFunction.CountIfs(rngCitta, Range("c" & i).Offset(0, -2).Value, rngMeseData, mese)
Next i
End Sub
[Modificato da alfrimpa 27/01/2017 10:09]

Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:16. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com