› Excel e gli applicativi Microsoft Office › Calcolare quante volte una data cade lo stesso giorno nel corso degli anni
-
AutoreArticoli
-
Ciao ragazzi come si ottiene un simile risultato e come andrebbe impostato il file.
Ho già un calendario pronto che uso per calcolore i gg lavorativi, come esempio se può essere utile
La richiesta riguarda calcolare il numero di occorrenze per cui una data ricorre lo stesso giorno della settimana in un intervallo di date definito? Per esempio, quante volte il 5 maggio cade di domenica negli anni dal 2000 ad oggi?
Comincia a pensare come risolveresti il problema se dovessi farlo a mano. Scrivi i passaggi necessari... la traduzione nel linguaggio avviene successivamente all'elaborazione dell'algoritmo.
ciao
onestamente non ne ho capito una pera
di cosa ti interessa fare e avendo come riferimento solo l'anno
nel foglio calendario tutti i fogli avranno quell'anno
ergo il calcolo che vuoi non interesserà i fogli lavoro
Calcolare quante volte una data cade lo stesso giorno nel corso degli anni
sempre
ad esempio quante volte il 5 maggio è caduto di domenica dal 70 ad oggi, quante di lunedi e via dicendo
quante volte il 5 maggio è caduto di domenica dal 70 ad oggi
Ecco, e' come immaginavo io. Pero' tu non gradisci soluzioni VBA ma solo con formule vero?
Magari i nuovi Excel hanno formule adatte allo scopo. A me non viene neanche da immaginarmi come fare.
ciao
ci sono più modi
il più semplice
in E2
=GIORNO.SETTIMANA(DATA($D2;MESE($A$1);GIORNO($A$1));2)
in G2
=CONTA.SE($E$2:$E$56;7)
365
in K2
=CONTA.VALORI(LET(GG;SEQUENZA((2024-1970+1)*365,25;;"01/01/1970");FILTRO(GG;(MESE(GG)=MESE(A1))*(GIORNO(GG)=GIORNO(A1))*(GIORNO.SETTIMANA(GG;2)=7);"")))
quel 2024 lo puoi sostituire con ANNO(OGGI())
@gianfranco55 tanto di cappello
Io avrei dovuto tirare giù un bel po' di linee di codice
tanto di cappello
Eh gia'
avrei dovuto tirare giù un bel po' di linee di codice
Non cosi' tante, in fondo.
Non cosi' tante, in fondo.
In confronto a quanto scritto da Gianfranco direi di Sì
Function getWD(ByVal yFrom As Integer, yTo As Integer, dDate As String, wDay As Integer) As Long 'nell'intervallo di date considerato tra yFrom e yTo, un intervallo in anni, 'restituisce il numero di giorni in cui la data dDate cade nel giorno della settimana specificato da wDay 'wDay corrisponde all'enumerazione vb per i giorni della settimana, quindi vbSunday=1 'p.es. getWD(1990, 2000, "5/5", vbMonday) restituisce il numero di volte in cui il 5 maggio cade di lunedi' --> 2 Dim i As Long Do If Weekday(dDate & "/" & yFrom) = wDay Then i = i + 1 yFrom = yFrom + 1 Loop Until yFrom > yTo getWD = i End Function
Non ci sono controlli di alcun tipo sui parametri forniti, pero' funziona (anche come UDF).
?getwd(1970,2024,"5/5",vbsunday) 8
funziona ma è poco chiaro
non si capisce cosa indica il numero a fianco dell'anno
e poi io intendevo i gg lun mar mer giov e cosi via
il numero a fianco dell'anno
Se parli della formula di Gianfranco, e' il numero del giorno della settimana, da domenica=1 fino a sabato=7.
Un po' di fantasia e usare la guida, per favore. Anche banalmente consultare la guida alle funzioni di Excel, senza scomodare Internet.
ciao
non si capisce cosa indica il numero a fianco dell'anno
magari non hai capito la formula
=GIORNO.SETTIMANA(DATA($D2;MESE($A$1);GIORNO($A$1));2)
indica il giorno della settimana in cui il primo maggio cade in quel determinato anno.
e poi io intendevo i gg lun mar mer giov e cosi via
non è difficile variare la formula che rimane sempre quella
=CONTA.SE($E$2:$E$56;RIF.RIGA($A1))
se lo vuoi scritto come testo
=TESTO(GIORNO.SETTIMANA(DATA($D2;MESE($A$1);GIORNO($A$1));2);"gggg")
il conta se diventerà
=CONTA.SE($E$2:$E$56;G2)
365
=CONTA.VALORI(LET(GG;SEQUENZA((2024-1970+1)*365,25;;"01/01/1970");FILTRO(GG;(MESE(GG)=MESE($A$1))*(GIORNO(GG)=GIORNO($A$1))*(GIORNO.SETTIMANA(GG;2)=RIF.RIGA(A1));"")))
da tirare in giù
con questa formula non servono colonne varie d'appoggio
ma che versione hai di excel
si ma nel file originario che ho postato il calendario si auto aggiorna in base all'anno che scrivo..... se devo scrivere a mano le date di ogni anno non mi passa piu. avevo postato quel file per far capire la struttura.
Per ogni giorno dell'anno in che scrivo ad esempio in A1 deve darmi le statistiche..... lo sai che a me piacciono i calendari auto aggiornanti, non quelli dove c'è da scrivere tutto a mano
ma 365 è un valore da scrivere in una cella o la versione di office per cui hai pensato la formula?
la versione di office
Abbandono l'idea...... viene un ammasso di numeri atroce, grazie lo stesso
ciao
a parte che ora il file iniziale è sparito
ti ho già detto al post 46505
che quel calendario è come la corazzata Potëmkin
ogni foglio avrà sempre il calendario dell'anno messo in foglio calendario
oppure hai sbagliato file da allegare.
ad esempio quante volte il 5 maggio è caduto di domenica dal 70 ad oggi, quante di lunedi e via dicendo
a questo ho risposto in modo più che esaustivo cambi la data in A1 e tutto torna
non va bene?
mi arrendo sono "tordo" e non ho capito cosa vuoi scusami
poi se ti chiedo la versione di office
magari serve per formule personalizzate .....pazienza
Abbandono l'idea...... viene un ammasso di numeri atroce, grazie lo stesso
sai probabile che l'ammasso di numeri si possa eliminare e usare una formula unica
=MATR.SOMMA.PRODOTTO(--(GIORNO.SETTIMANA(DATA($D$2:$D$56;MESE($A$1);GIORNO($A$1));2)=RIF.RIGA(A1)))
ma se non capisci GIORNO.SETTIMANA()
no non è quello che intendo io..... Non cambiare la data
un calendario annuale dell'anno xxxx (in una cella predefinita inserisco l'anno e tutto si aggiorna) e poi mi indica tutte le statistiche.... Office 2021
ciao
e perchè diavolo non usi questa
=CONTA.VALORI(LET(GG;SEQUENZA((2024-1970+1)*365,25;;"01/01/1970");FILTRO(GG;(MESE(GG)=MESE($A$1))*(GIORNO(GG)=GIORNO($A$1))*(GIORNO.SETTIMANA(GG;2)=RIF.RIGA(A1));"")))
2024 e 1970 si possono sostituire con dei valori cella
poi spiacente per me questa discussione è finita
finchè non vedo un file con dati scritti a mano del risultato finito
struttura e dati.
per ora altri ti aiuteranno io non ho capito cosa vuoi.
alla prossima
Io mi domando perché rispondete alle richieste di una persona così scortese!
perché rispondete alle richieste di una persona così scortese!
Perche' e' divertente... non credo che sia scortese, solo un po' di coccio
ciao
ha tutte le caratteristiche di
CL161097
le sue risposte non mi risultano scortesi ( e poi anche io non è che ,se mi istigano, sia da meno eh!)
solo che non riesco mai a capire cosa cerca.
ora per esempio vede troppi dati ( gli anni in colonna)
ma non si è preoccupato di provare la formula del 365
che nel suo 2021 dovrebbe funzionare benissimo senza colonne d'appoggio
mah!
non credo che sia scortese
Una persona che praticamente non chiede mai "per favore", non dice mai "grazie" e se lo dice sottintende "grazie lascia stare, mi arrangio .." nonostante le varie risposte ottenute, non lo trovi scortese?
Be' ci sono anche persone cosi', credo che sia assolutamente inutile prendersela. Io ho gia' dato una mia versione di soluzione ma rivolta non solo al richiedente, bensi' a chiunque fosse interessato, e questo per me e' sufficiente.
Poi si', ti do pienamente ragione, si puo' anche pensare alla scortesia, all'arroganza e alla prepotenza riguardo un atteggiamento simile, ma finche' non e' anche offensivo, possiamo anche passarci sopra
-
AutoreArticoli