gaspart
Otto anni
04.07.2010 06:24:45

Nello steso giorno in cui gli Stati Uniti festeggiano 234 anni di vita, sayIT SA festeggia i suoi primi otto anni. Auguri ad Anna, Elena, Laura, Manuela, Gaspar, Luca, Matteo. Un caro saluto a Cecilia e Memmo, che erano con noi all'inizio.

 

 



Tags: compleanno

Leggi tutto


 
gaspart
Excel: doppia convalida da elenco
17.06.2010 08:49:32

La convalida da elenco di Excel è una gran bella invenzione. Nell'inserimento di dati in una cella, ti permette di scegliere da un elenco e ti evita di dover scrivere a mano: zero errori, zero fatica, tutti felici. Se però l'elenco dei valori ammessi è molto lungo, come ad esempio per tutte le nazioni del mondo, allora l'uso del menu a tendina diventa troppo complicato rispetto a scrivere direttamente nella cella.

 

Una strategia interessante potrebbe essere quella di far scegliere prima il continente, e poi restringere la scelta della nazione in base alla scelta precedente. Occorre quindi dividere l'elenco in più colonne, come ho fatto in questo esempio:

 

 

La prima convalida in B14 permette di scegliere il continente e ha come origine le celle A1:C1. La seconda convalida in B15 sceglie la nazione e non ha come origine un intervallo, ma una formula che restituisce un intervallo diverso a seconda del contenuto della cella B14:

 

=SCARTO(A2:C7;0;CONFRONTA(B14;A1:C1;0)-1;7;1)


Non è una formula facile da ricordare o da scrivere, e neanche da controllare. Per fortuna ho trovato un altro modo, molto più semplice, che ho usato sotto.

 

 

Prima di tutto ho creato in automatico i nomi per gli intervalli A2:A7, B2:B7 e C2:C7 prendendoli da A1, B1 e C1. In B19 c'è la stessa convalida che in B14, ma in B20 la formula inserita nella convalida da elenco è semplicissima:

 

=INDIRETTO(B19)


Siccome la funzione INDIRETTO restituisce il riferimento specificato da una stringa di testo, e siccome nel nostro caso la stringa di testo in B19 corrisponde al nome dell'intervallo, voilà il gioco è fatto. Per la gioja de li piccini, allego il file di Excel 2007 Doppia convalida. Come al solito, se conosci altri modi di fare la stessa cosa, sono interessato.

 

Tra parentesi, l'esempio è nel formato di Office 2007-2010. Se stai usando versioni precedenti di Excel, e avrai le tue gravissime ragioni, spero tu abbia installato il convertitore gratuito.

 

 



Tags: Convalida | Excel

Leggi tutto


 
gaspart
Scorciatoie di Excel
03.06.2010 13:20:59

Excel è una miniera di scorciatoie da tastiera, e se ne scoprono di nuove ogni giorno. Provo a fare un elenco parziale di quelle che uso di più.

 

 

F4

Dentro a una formula, trasforma un riferimento da relativo (A1) ad assoluto ($A$1) e viceversa.

 

F4

Fuori da una formula, ripete l'ultimo comando

 

CTRL + Freccia

Sposta la cella attiva in fondo alla riga o alla colonna corrente

 

CTRL + SHIFT + Freccia

Seleziona dalla cella corrente fino in fondo alla riga o alla colonna

 

CTRL + Spazio

Seleziona tutta la colonna della cella attiva

 

SHIFT + Spazio

Seleziona tutta la riga della cella attiva

 

CTRL + Segno meno

Elimina la riga o la colonna selezionata

 

CTRL + Segno più

Aggiunge una riga sopra la riga selezionata o una colonna a sinistra della colonna selezionata

 

CTRL + Apostrofo

Copia nella cella il contenuto della cella superiore

 

ALT + Freccia giù

In fondo a una colonna di dati, apre un menu a tendina e permette di scegliere uno dei valori presenti nella colonna.

 

 



Tags: scorciatoia | Excel

Leggi tutto


 
gaspart
CloudCamp Milano, 25 maggio 2010
26.05.2010 14:51:01
Ieri in Bocconi al CloudCamp, impeccabilmente organizzato da ENTER, non credo di aver sentito niente di nuovo o di particolarmente interessante, con due eccezioni: l'intervento di Eddie Budgen di Sensible Cloud sull'importanza dei Service Level Agreement, e il vivace unpanel. La mia impressione generale sulla serata è di molti venditori a caccia di pochi clienti grossi. Per come la vedo io, che non ho la CocaCaola e la FIAT tra i miei clienti, c'è molto da fare anche per le PMI. Considerazione a margine: una legge dovrebbe vietare a un relatore di tenere la sua presentazione da seduto, o peggio, di leggere la sua presentazione da seduto. Gli effetti sull'attenzione del pubblico sono devastanti. E molte slide erano illeggibili (un giorno Presentation Zen sarà libro di testo in tutte le scuole d'Italia, e avremo finito di soffrire).

Tags: Cloud Computing

Leggi tutto


 
gaspart
Dalla tabella all'elenco, altri modi
16.05.2010 14:58:01
Il post della scorsa settimana su come trasformare una tabella in un elenco ha prodotto commenti interessanti. Marco segnala che si può fare molto prima con R, in sole quattro righe di codice:
library(reshape)
ordini <- read.csv("ordini.csv")
ordini2 <- melt(ordini, id="Prodotto")
names(ordini2) <- c("Prodotti","Taglia","Quantità")
ordini3 <- ordini2[order(ordini2$Prodotti), ]
Robsom con MatLab se la sbriga in due sole righe:

data = load (‘info.dat’); data_new = reshape (data’,size(data,1)*size(data,2),1);

Massimo Morelli invece prende la strada più difficile e la risolve con le formule di Excel. Allego il file di esempio (Esempio - formule dalla tabella alla lista) per i più avventurosi, ma giusto per darti l'idea ecco la formula in A2 che inserisce le etichette della prima colonna:

=SE(RIF.RIGA()-1<=RIGHE(SCARTO(Tabella!$A$1;1;0;CONTA.VALORI(Tabella!$A:$A)-1;1))*COLONNE(SCARTO(Tabella!$A$1;0;1;1;CONTA.VALORI(Tabella!$1:$1)-1));SCARTO(SCARTO(Tabella!$A$1;1;0;CONTA.VALORI(Tabella!$A:$A)-1;1);TRONCA((RIF.RIGA()-2)/COLONNE(SCARTO(Tabella!$A$1;0;1;1;CONTA.VALORI(Tabella!$1:$1)-1));0);0;1;1);"")

Invece per i meno avventurosi, c'è anche una soluzione dove le prime due colonne sono state inserite a mano, e la terza viene calcolata con una formula che si riesce ascrivere in una sola riga:

=CERCA.ORIZZ(B16;$B$1:$G$8;CONFRONTA(A16;$A$1:$A$8;0);0)

Per quanto riguarda la soluzione originale con la macro in VBA, più la guardo e meno mi piace. Magari uno di questi giorni la rifaccio e la ripubblico.

Tags: Excel formule tabella elenco

Leggi tutto


 
anna
Creare un grafico con FileMaker 11
12.05.2010 06:27:25

Dalla versione 11 di FileMaker PRO è possibile creare i grafici direttamente in FileMaker.

E' possibile creare i seguenti grafici: a colonne, a barre, a linee, ad area e a torta.

Vediamo come creare un grafico in pochi semplici passi.

Utilizziamo il file Esempi.fp7 presente nella cartella

WIN: c:/programmi/FileMaker/FileMaker Pro 11*/Italiano Extra/Esercitazioni

MAC: [HD]/Applicazioni//FileMaker Pro 11*/Italiano Extra/Esercitazioni

Apriamo il file e posizioniamoci nel formato "Immissione dati"

Questo database di esempio contiene i dati anagrafici dei soci di un'associazione viaggi aziendali.

I soci si abbonano inizialmente versando una quota di 200€ e lo stato dell'abbonamento in questo caso ha valore "Nuovo". Versano poi una quota annuale di 100€ e lo stato dell'abbonamento è in questo caso uguale a "Rinnovo"

Creiamo un grafico a colonne che indichi il totale delle quote relative alle associazioni nuove e a quelle rinnovate.

Andiamo in modalità Formato scheda

Nella barra di stato selezioniamo il controllo Grafico

 

Grafici001

 

Posizioniamoci sull'area vuota a destra dell'anagrafica soci

Facciamo click con il mouse e trasciniamo disegnando un rettangolo.

Viene creata un'immagine che rappresenta un grafico. A sinistra possiamo definire le opzioni per il grafico

 

Grafici002

 

Configuriamo ora il grafico.

  • Nel tipo di grafico selezioniamo Colonne.
  • Nel titolo del grafico mettiamo "Totale quote per tipo abbonamento". Nel Titolo è possibile anche inserire un campo calcolato.
  • Nell'asse orizzontale (x) mettiamo le categorie dei dati che desideriamo rappresentare. In questo caso il campo "Abbonamento"
  • Nell'asse verticale (Y) mettiamo i valori da graficare in questo caso il campo Totale quote. Attenzione perchè il campo Totale quote non è presente nel formato quindi dobbiamo andarlo a selezionare dalla tabella

 

Grafici005

 

Tramite il pulsante + potremmo aggiungere altre serie di dati.

 

A questo punto dobbiamo decidere quali record graficare. Ci sono tre diverse opzioni che possiamo scegliere:

 

Grafici004

  • Gruppo trovato corrente: Vengono graficati i dati del found set, cioè dei record "visibili" nel formato.nel nostro caso tutti i record
  • Record corrente: viene graficato solo il record corrente
  • Record correlati: è possibile rappresentare i dati presenti in una tabella correlata. Per esempio tutte le fatture relative ad un cliente.

 

Nel nostro caso scegliamo la prima opzione.

Dobbiamo anche mettere la spunta su Mostrano i punti per gruppi di record ordinati. In questo modo i record una volta ordinati verranno raggruppati per tipo di abbonamento.

 

Grafici006

 

A questo punto facciamo click sul tasto OK.

Per visualizzare il grafico dobbiamo andare in modalità Usa.

Affinchè il grafico sia rappresentato correttamente occorre ordinare sul campo "Abbonamento"

 

Grafici007

 

Una volta ordinati i dati, il grafico viene visualizzato in maniera corretta.

 

Grafici008

 

Come specificato nelle opzioni del grafico i dati rappresentati sono quelli del gruppo travato corrente, quindi se facciamo una ricerca per esempio sul campo Stato verranno graficati solo i record trovati.

Nell'immagine sotto il grafico per i soci degli Stati Uniti:

 

Grafici010

 

Le impostazioni del grafico possono essere modificate in qualsiasi momento tornando in modalità scheda e facendo doppio click sul grafico.

 

Tramite il pulsante "Formattazione grafico" è possibile impostare il layout del grafico.



Tags:

Leggi tutto


 
gaspart
Dalla tabella all'elenco
02.05.2010 15:37:52

La settimana scorsa, durante un corso di Excel per una azienda del Luganese, mi hanno raccontato una brutta storia. Uno dei lavori ricorrenti più lunghi, ingrati e noiosi affidati in azienda ad alcuni allievi era questo: data una tabella di ordini riempita dal cliente e simile a questa:
Tabella

ottenere un elenco di dati simile a questo:
elenco

La prima domanda, ovviamente, è stata "Perché? Ma soprattutto, perché?" La dura risposta: "Perché il cliente vuole così, e il cliente ha sempre ragione". Questo restringe molto il campo delle possibili soluzioni, ma almeno si può fare una bella macro. Siccome non c'è stato tempo durante il corso, mi ci sono divertito oggi e ho messo insieme una soluzione "quick & dirty" che farà storcere il naso a tutti i programmatori (io non lo sono), ma che funziona per qualsiasi tabella di qualsiasi dimensione, purché si parta con una cella attiva dentro la tabella da svolgere. Il file di esempio (47KB formato Excel 2003) è dalla tabella alla lista, e il codice è questo:

Sub Tabella_Elenco()

'
' Prende una tabella da un foglio
' e la trasforma in un elenco in un altro foglio
'
On Error Resume Next
Application.ScreenUpdating = False

Dim MioFoglio As Worksheet
Dim MiaTabella As Range
Dim Etichette As Range
Dim colcnt As Integer
Dim rowcnt As Integer

'   Definisco le variabili e il foglio di destinazione
'  con le etichette

Set MioFoglio = ActiveSheet
Set MiaTabella = ActiveSheet.Cells(1, 1).CurrentRegion
colcnt = MiaTabella.Columns.Count
rowcnt = MiaTabella.Rows.Count
Set Etichette = MiaTabella.Range(Cells(1, 2), Cells(1, colcnt))
N = 0

Sheets.Add.Name = "Destinazione"
With ActiveWorkbook.Names
.Add Name:="Prodotto", RefersTo:="=Destinazione!A1"
.Add Name:="Taglia", RefersTo:="=Destinazione!B1"
.Add Name:="Quantità", RefersTo:="=Destinazione!C1"
End With
Range("Prodotto").FormulaR1C1 = "Prodotto"
Range("Taglia").FormulaR1C1 = "Taglia"
Range("Quantità").FormulaR1C1 = "Quantità"

'   Copio e incollo in modo diverso per la prima riga

While N < rowcnt - 1

Application.CutCopyMode = False
MiaTabella.Cells(N + 2, 1).Copy
Application.Goto Reference:="Prodotto"

If N = 0 Then
Range("Prodotto").Offset(1, 0).Range("A1").Select

Else
Range("Prodotto").End(xlDown).Offset(1, 0).Range("A1").Select
End If

Selection.Resize(Selection.Rows.Count + colcnt - 2, Selection.Columns.Count).Select
ActiveSheet.Paste

Application.CutCopyMode = False
Etichette.Copy
Application.Goto Reference:="Taglia"

If N = 0 Then
Range("Taglia").Offset(1, 0).Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Else
Range("Taglia").End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End If

Application.CutCopyMode = False
MioFoglio.Select
MiaTabella.Range(Cells(N + 2, 2), Cells(N + 2, colcnt)).Copy
Application.Goto Reference:="Quantità"

If N = 0 Then
Range("Quantità").Offset(1, 0).Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Else
Range("Quantità").End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End If

N = N + 1

Wend

Application.CutCopyMode = False

Range("A1").Select
Application.ScreenUpdating = True

End Sub

Buon divertimento. Molto volentieri accetto critiche, pomodori e suggerimenti.



Tags: Exce | l macro | tabella | elenco

Leggi tutto


 
gaspart
Le nuvole all'asta
15.03.2010 13:57:44

C'è un interessante articolo sull'Economist di questa settimana (p.64 su carta, oppure qui) che comincia nel tipico stile anglosassone:

 

"Se siete stanchi di sentire la parola "cloud" associata a tutte le parole del dizionario, non siete soli. I tecnici disillusi cominciano a soccombere allo "stress da cloud". Ma l'idea della potenza di calcolo come servizio di base distribuito via internet si è ormai affermata. In effetti, l'industria comincia a muovere i primi passi verso la trasformazione della potenza di calcolo in una commodity negoziabile come l'elettricità."

 

L'articolo passa poi a descrivere le Spot Instances dove Amazon mette all'asta la potenza di calcolo inutilizzata dei suoi datacenters: un ulteriore passo verso la commoditization.

 



Tags: Cloud Economist Amazon

Leggi tutto


 
gaspart
3 buoni motivi per non iscriversi a un corso di informatica
10.03.2010 08:39:36

Nell'organizzazione di un corso di informatica, uno dei momenti fondamentali è lo screening dei partecipanti. Ci capita spesso di dover insistere presso il cliente, cercando di fargli capire che senza questo passaggio, l'efficacia del corso è a rischio (assieme al ritorno sull'investimento).

 

Si tratta di riuscire a formare classi il più possibile omogenee per conoscenze e per necessità formative, compatibilmente con le esigenze di lavoro. Ma mentre in teoria si mira alla perfezione, in pratica poi ci si adatta e si cercano compromessi tra le mille esigenze contrastanti.

 

Vale quindi la pena di chirarire bene a ogni futuro allievo, nel momento in cui si iscrive a un corso, i 3 buoni motivi per non farlo:

 

  1. Non userai il programma
  2. Non possiedi i prerequisiti
  3. Non hai tempo

1.

"Übung macht den Meister", dicono in Germania. I corsi sono una cosa fantastica, e io ne sono un fervente sostenitore; ma senza la pratica immediata e costante, non servono a niente. E' perfettamente inutile iscriversi a un corso di Filemaker se non si prevede, dal giorno dopo, di cominciare a usarlo tutti i giorni. E' un fatto assodato che, senza la pratica, il contenuto di un corso si dimentica totalmente entro tre settimane.

 

2.

Non di rado capita che le assegnazioni ai diversi livelli di un corso vengano decise in base al rango aziendale e non in base alle conoscenze: i neoassunti al corso base, i dirigenti al corso avanzato. Ovviamente, il risultato è disastroso. Ogni corso richiede e si appoggia a una base di conoscenze che devono essere condivise da tutti i partecipanti, e i diversi livelli servono proprio a questo. Se in Excel non hai mai creato una tua formula con le quattro operazioni, il corso "Excel Perfezionamento: funzioni avanzate" non è per te, non ancora.

 

3.

Specialmente nei corsi presso aziende, capita che alcuni partecipanti vengano interrotti e distratti continuamente da telefonate, urgenze, colleghi con problemi. Chi è oberato dal lavoro, se non riesce a ritagliarsi il tempo necessario, è meglio che salti il turno se non vuole stressarsi e stressare gli altri partecipanti.

 



Tags: organizzazione corsi

Leggi tutto


 
anna
Associare una descrizione ad una funzione personalizzata di Excel
25.02.2010 12:20:40

L'altro giorno stavo facendo un corso di VBA per Excel. Stavo spiegando come creare le funzioni personalizzate.
Uno studente mi ha chiesto come aggiungere un commento ad una funzione di questo tipo.
Ecco la risposta:

Ipotizziamo di creare una semplice funzione chiamata sconto.
La funzione applica uno sconto del 10% se il numero di articoli supera i 50 pezzi.
Ecco la funzione:

 

 


Se utilizziamo la funzione in Excel essa ci apparirà nella categoria "Definite dall'utente" senza descrizione:

 



 

E' possibile sia inserire una descrizione della funzione sia associare la funzione personalizzata ad una categoria diversa tramite
il metodo MacroOptions dell'oggetto Application.

IN Visual Basic nell'evento Workbook_Open() della cartella di lavoro inserite una delle seguenti istruzioni:

 

 

Ipotizziamo di scegliere la terza istruzione che crea il commento e mette la funzione in una categoria definita da noi. Una volta eseguito il codice in Excel la funzione apparirà così:

 



Nell'help in linea di VBA per Excel è possibile trovare la descrizione dettagliata del metodo MacroOptions.



Tags: MacroOptions | Excel | Funzione personalizzata | Descrizione

Leggi tutto


 
Pagina 1 di 2
<< Inizio < Prec. 1 2 Succ. > Fine >>
IDOBlog - blog for joomla 1.5