RioLab

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Articoli
Articoli

Estrapolare il giorno, il mese e l'anno da una data

E-mail Stampa PDF

DOMANDA

In una cella è contenuta una data: vorrei estrapolare il giorno, il mese e l'anno relativi a quella data.

 

RISPOSTA (a cusa di Giovanna Arcadu e Tiziano Marmiroli)

Si utilizzano allo scopo le funzioni ANNO(), MESE() e GIORNO()
 
La funzione ANNO()
Restituisce l'anno relativo a una data. Gli anni vengono restituiti come numeri (appunto "numeri seriali") interi compresi tra 1900 e 9999.
 
Sintassi
ANNO(num_seriale)
Num_seriale è la data considerata.
 
 - Le date vengono memorizzate come numeri seriali in sequenza per poter essere utilizzate nei calcoli. In base all'impostazione predefinita, 1 gennaio 1900 è il numero seriale 1 e 1 gennaio 2008 è il numero seriale 39448 essendo trascorsi 39.448 giorni dal 1 gennaio 1900.
 

La funzione MESE()
Restituisce il mese di una data. Il mese viene espresso con un numero intero compreso tra 1, corrispondente a gennaio, e 12, corrispondente a dicembre.
 
Sintassi
MESE(num_seriale)
Num_seriale è la data considerata.
 
La funzione GIORNO()
Restituisce il giorno di una data. I giorni vengono rappresentati con numeri interi compresi tra 1 e 31.
 
Sintassi
GIORNO(num_seriale)
Num_seriale è la data considerata.
 
Esempio:
 
Attenzione: Impostare a Generale il formato delle celle della colonna B
 
Può essere interessante infatti osservare cosa succede se si impostano in colonna B i formati Personalizzati aaaa, mmmm, gggg:
Le formule immesse nelle celle B2, B3 e B4 sono le stesse della tabella precedente, variando i formati è cambiato il modo in cui Excel ci mostra i dati. I formati vengono applicati sui numeri "seriali" 2008, 6 e 12. Il primo, 2008 è il seriale della data "30 giugno 1905", il numero 6 è il seriale della data "6 gennaio 1900" e infine 12 è il seriale della data "12 gennaio 1900" che cade di giovedì.
 
Se di una data si vuole dunque visualizzare l'anno, o il mese oppure il giorno, basta impostare per la cella che la contiene rispettivamente i formati Personalizzati aaaa, mmmm, gggg:
data con formati personalizzati
Nelle celle B2, B3 e B4 è stata immessa la formula =A2, dunque riportata la stessa data contenuta in cella A2.
Il numero seriale corrispondente è il medesimo. E' differente solo quanto è visualizzato. Appunto solo una questione di formati.
 
 

Sistema operativo: WIN32
Applicazioni: Excel 97, Excel 2000, Excel 2002/XP, Excel 2003, Excel 2007

 

Ultimo aggiornamento Lunedì 03 Agosto 2009 14:37
 

Filtro Avanzato con criterio su giorno

E-mail Stampa PDF

Domanda:

 
partendo da questo esempio...

 

                   A                B       C       D      E       F       G      H      I        L
1       Data                   D1    D2    D3    D4    D5    D6    D7
2       02/01/88          a       b       c       d      e       f        g
3       02/01/88          t        y       l        p      o       i        u
4       05/04/88          a       s       e       r       t        i        p
5       03/01/89          f        g       h       i       o       p       l
6       03/01/89          a       b       c       e      r        t        i
7       05/02/89          g       h       e       a      s       d       w
8       02/04/90          g       b       f        c      d       a       s
vorrei estrarre le righe con data/giorno uguale a 2.
Ho già provato mettendo come intestazione colonna in [I1] criterio e poi in [I2] la f(x) =Giorno (02)
poi ho attivato il filtro avanzato ma non ottengo i risultati voluti. Perché?
 

Risposta 1 ( di Ivano Chiappa)

 
Imposta l'intestazione della colonna come criterio in [K1]
in [k2] aggiungi la funzione =GIORNO(A2)=2
ora imposta il filtro avanzato:
azione> copia in un'altra posizione
intervallo elenco>[$A$1:$H$11]
intervallo criteri> [$k$1:$k$2]
copia in >[$L$1:$S$1]
ottieni quanto richiesto, cioè:
02/01/88 a b c d e f g
02/01/88 t y l p o i u
02/04/90 g b f c d a s
 
 

Risposta 2 (di Paolo Ardizzoni)

 
In una colonna appoggio, per esempio la [L] estrarre il giorno con la formula
=GIORNO(data),
 
Inserire tre righe vuote all'inizio della tabella
in [A1]: Giorno (Intestazione criterio)
in [A2]: 2  (valore del criterio)
 
Questa la situazione di partenza:
 
                   A                B       C       D      E       F       G      H      I        L
1             Giorno                                                         
2                    2            
3
4       Data                D1     D2    D3     D4    D5     D6     D7             Giorno
5       02/01/88          a       b       c       d       e       f        g                2
6       02/01/88          t        y       l        p       o       i        u                2
7       05/04/88          a       s       e       r        t        i        p                5
8       03/01/89          f        g       h       i        o       p       l                 3
9       03/01/89          a       b       c       e       r        t        i                 3
10     05/02/89          g       h       e       a       s        d       w               5
11     02/04/90          g       b       f        c       d        a       s                2
 
Questa di arrivo con filtro su criterio Giorno =2:
 
                   A                B       C       D      E       F       G      H      I        L
1             Giorno                                                         
2                    2            
3
4       Data                D1     D2     D3     D4    D5     D6     D7             Giorno
5       02/01/88          a       b       c       d       e       f        g                2                        
6       02/01/88          t        y       l        p       o       i        u                2
11     02/04/90          g       b       f        c       d       a        s                2
 
 


 
Sistema operativo: WIN32
Applicazioni: Excel 97, Excel 2000, Excel 2002/XP, Excel 2007

 

Ultimo aggiornamento Lunedì 13 Luglio 2009 21:06
 

Risolutore 02 - Problema dei trasporti

E-mail Stampa PDF

Questo articolo e' la seconda puntata per esplorare le potenzialita' del risolutore di excel.

Se vi siete persi la prima puntata fate riferimento all'articolo Risolutore 01

IL TRASPORTATORE E L'OTTIMIZZAZIONE DELLE CONSEGNE - prima parte

In questo esempio si analizza il problema dell'ottimizzazione dei trasporti da diverse fonti a diverse sorgenti (es.: dai magazzini ai siti dei clienti)

Ultimo aggiornamento Martedì 27 Ottobre 2009 10:01 Leggi tutto...
 

Risolutore 01 - Ottimizzazione della produzione

E-mail Stampa PDF

Lo strumento risolutore e' un potente strumento di Excel poco conosciuto.
In questo primo articolo di una mini-serie si introdurranno i concetti base di questo add-in.

Prima di tutto bisogna controllare che lo strumento sia attivo. Per fare ciò, andare nel menù opzioni di Excel, componenti aggiuntivi e verificare componente aggiuntivo risolutore.

Ultimo aggiornamento Martedì 27 Ottobre 2009 09:57 Leggi tutto...
 

XP BUTTON

E-mail Stampa PDF

Una classe può avere Pulsanti stile XP in Access

 

Sfruttando un controllo Immagine viene disegnato al volo un pulsante in memoria usando le API, quindi viene copiata l'area nella zona impegnata dal controllo come fosse una BMP.

Nel file allegato trovate un db d'esempio e il PDF contenente il manuale d'uso.

 

 


Sistema operativo: WIN32
Applicazioni: Access 97, Access 2000, Access 2002/XP, Access 2007

 

Ultimo aggiornamento Giovedì 02 Luglio 2009 13:39
 

Rappresentazione grafica della giornata lavorativa

E-mail Stampa PDF

Se stai definendo gli orari di inizio e fine lavoro giornaliero per i componenti di un gruppo di lavoro, potresti avere l'esigenza di distinguere, a colpo d'occhio, le fasce orarie scoperte da quelle con copertura lavorativa, e che per queste ultime siano evidenti le eventuali sovrapposizioni.

Ultimo aggiornamento Lunedì 03 Agosto 2009 14:29 Leggi tutto...
 

Distinta base con tabelle allegate a Ms Sql Server

E-mail Stampa PDF

L'esempio utilizza tre tabelle, una per le unità di misura, una per i prodotti e una per la composizione della distinta base, la loro struttura è semplice e con pochi campi, non intendo trattare tutta la problematica di magazzino ma solo la struttura per implementare la distinta base.

L’allegato contiene il file "TestDistintaMdb.sql" che serve a generare gli oggetti del database.
Dopo il codice che genera le tabelle si incontra la prima funzione ufn_CKRicorsione, che viene richiamata dal vincolo di tabella CK_Distinta_Ricorsione e serve a controllare che non vengano inseriti componenti che possano generare ricorsione, ovvero un loop infinito o quasi in quanto c'è un limite di 100 ricorsioni, limite che nelle query ricorsive, si può superare aggiungendo l'hint MAXRECURSION.

Proseguendo nel codice si incontra un'altra funzione ricorsiva ufn_CalcolaCostoProdotto, questa, scorrendo in avanti la distinta, calcola il costo del prodotto passato nel primo parametro, se il prodotto non ha distinta viene reso il costo inserito nell' anagrafica prodotto.
La funzione ufn_CalcolaCostoProdotto viene utilizzata nella vista uvs_CalcolaCostoProdotto che allegata al database MDB ci servirà per conoscere il costo di uno o più prodotti.

L'output dell'esplosione della distinta è affidato alla funzione ufn_EsplodiDistinta che rende  un resultset con i vari componenti e il loro costo in base al codice prodotto passato nel parametro @Padre.
Il risultato finale viene reso al database MDB tramite la vista uvs_EsplodiDistinta  allegata ad esso e che al suo interno esegue la cross apply tra la tabella prodotti e il risultato della funzione ufn_EsplodiDistinta.


Istruzioni per Sql Server 2005
Aprite SQL Server Management Studio Express, create un nuovo database, dategli il nome TestDistintaMdb, aprite ed eseguite lo script contenuto nel file TestDistintaMdb.sql. Aprite il database allegato TestDistinta.Mdb con una versione di Access uguale o maggiore alla 2000, aprite la tabella Connessione e compilate il campo NomeServer con il nome del vostro database server, se avete installato un’istanza di Sql Server2005 express tale nome è NomeComputer\SqlExpress, dove NomeComputer è il nome della macchina su cui è in funzione il servizio Sql Server.
Chiudete la tabella Connessione e aprite la maschera AllegaTabelle, questa mascherà eseguirà il codice necessario ad allegare le tabelle e le viste al database MDB, il messaggio "Tabelle allegate con successo" indicherà il successo dell’operazione.
Fatto questo potete aprite la maschera Prodotti per provare l’esempio.

 

 

 


Sistema operativo: Win32
Applicazioni: Access 2000, Access 2003, Access 2007

 

Ultimo aggiornamento Giovedì 02 Luglio 2009 12:14
 


Pagina 7 di 15

Pubblicità

Link consigliati: