Excel: dieci errori da non fare

by Gaspar Torriero on 26/02/2015

Excel è un programma molto utile, che fa risparmiare un sacco di tempo e di fatica a chi lo usa correttamente, ma che può facilmente trasformarsi in un buco nero del nostro tempo se usato male. Siccome mi capita di vedere che certi errori sono frequentissimi e fanno perdere un sacco di tempo inutilmente, elenco qui i più drammatici, a monito de li piccini.

0. Riempire le celle di testo

Questa è la madre di tutti gli errori e quindi non entra nel conto: usare Excel per scrivere cose che non sono elenchi e non contengono nessun calcolo. Cos’ha Word che non va? Excel non è bravo a scrivere. No calcoli, no Excel.

1. Dopo aver modificato una cella, cliccare fuori per uscire

Questa la vedo spessissimo ed è forse la principale fonte di errori e perdita di tempo, soprattutto per chi non conosce il programma ma deve usare fogli di calcolo preparati da altri. Non c’è problema se la cella contiene testo; ma se la cella da modificare contiene una formula, quando clicchi fuori ne modifichi i riferimenti (ma non te ne accorgi). Dalla modifica di una cella si esce con ESC per non modificare nulla, oppure con ENTER o TAB per confermare la modifica.

Ovviamente è responsabilità di chi ha preparato il foglio di accertarsi che il destinatario abbia le capacità necessarie per usarlo al meglio; oppure di proteggere adeguatamente le formule a rischio.

2. Tenere più tabelle sullo stesso foglio

Ti serve aumentare la larghezza di colonna della tabella sopra, e sballano gli allineamenti della tabella sotto. Sposti una riga della tabella di sinistra, ma hai spostato anche la riga della tabella di destra. Una tabella per foglio, e il problema è eliminato alla radice.

3. Inserire righe vuote o colonne vuote all’interno di un elenco

Questa mi provoca crisi di pianto dirotto ogni volta che la vedo (cioè quasi giornalmente). La riga di bellezza inserita subito sotto alla riga dei titoli mi ammazza tutte le selezioni automatiche della tabella e mi costringe ogni volta a selezioni manuali: per i filtri, per gli ordinamenti, per le pivot. Insomma, voglio più spazio? allargo la riga dei titoli. La zona corrente è una religione, e righe e colonne vuote sono anatema.

4. Scrivere i nomi delle colonne di un elenco su più righe

Se la prima colonna è Codice Cliente e la seconda è Nome Cliente, e tu lo scrivi su due celle, Excel guarda solo la riga sopra ai titoli e per lui i due campi si chiamano entrambi Cliente. Questo lo manda in confusione e non capisce più nulla. Se il titolo è lungo, usa l’a capo nella cella.

5. Unire celle in un elenco

Qui ho visto cose che noi umani neanche ci sogniamo. La prima cosa che succede è che non puoi più fare gli ordinamenti: quindi te li fai a mano. Quindi perdi tempo, e fai errori, Quindi devi ricontrollare, e perdere altro tempo, e passano le ore. In generale, unire celle in Excel crea sempre problemi ed è da evitare.

6. Formattare a mano i titoli di una tabella

Invece di spendere le più liete ore con bordi, sfondi e colori, ci sono gli stili già pronti, da applicare con un clic. Hai tempo libero? alzati, fatti una passeggiata, fai due chiacchiere con qualcuno, vai a trollare Gasparri su Twitter. Qualsiasi cosa pur di non passare la tua vita a formattare celle di Excel.

7. Colorare a mano le righe di un elenco

Colori queste righe in giallo per segnalare che sono clienti pericolosi. Poi colori in rosso quelli morosi, poi in verde quelli bravi, poi in viola quelli tristi, e in arancione quelli indecisi, e il tuo foglio diventa tutto un arcobaleno di colori, e adesso ci vuole la legenda, e un cliente bravo è diventato moroso e bisogna cambiare il colore a mano. E passano le re. Ma il problema principale è che hai inserito delle informazioni importanti in forma di colore, ovvero in forma inutilizzabile da parte di Excel: prova per esempio a fare la somma del fatturato per colore, e poi dimmi quanto ci hai messo.

Se hai bisogno dei colori usa la formattazione condizionale, che è automatica e non porta via tempo.

8. Allineare al centro una colonna di cifre

L’allineamento predefinito di una cella è a destra per i numeri, a sinistra per il testo. Questo viene molto utile quando devi inserire tanti numeri: se non li vedi andare a destra, c’è un errore e te ne accorgi immediatamente. Ma se hai forzato l’allineamento al centro, non te ne accorgi più, e ti tieni l’errore.

9. Usare il grafico a coni o a piramidi

Sono bellissimi e scenografici, specie quelli tridimensionali, ma sono assolutamente incomprensibili. Il grafico deve essere chiaro: se lo guardi a schermo intero da cinque metri di distanza e non si capisce, hai buttato via il tuo tempo.

10. Raccogliere su più fogli i dati che riguardano una singola situazione

Lo scenario è più o meno il seguente: per raccogliere le spese di viaggio dei tuoi commerciali, prepari un foglio per ogni persona e per ogni mese. In questo modo ti viene molto facile, a fine mese, sommare la colonna delle spese e trovare l’ammontare del rimborso mensile. Ma che succede a fine anno? Ti trovi a giostrare con centinaia di fogli. E se devi fare il totale? E se ti serve il totale per linea di prodotto? Ecco che partono i formuloni lunghi due righe (e fai prima a fare i calcoli a mano).

Se invece crei una unica tabella con dentro tutti i viaggiatori e tutte le date, con filtri e pivot ottieni rapidamente e facilmente tutte le risposte che ti servono, senza scrivere neanche una formula e quindi senza possibilità di commettere errori.

(Ecco, mi sono sfogato :-))

{ 2 comments }

Happy Valentine!

by Gaspar Torriero on 14/02/2015

{ 0 comments }

Formiche!

by Gaspar Torriero on 08/02/2015

Qualche esercizio per il corso di Scratch.

{ 0 comments }

Buon 2015!

by Gaspar Torriero on 28/12/2014

Natale2014

La famiglia Torriero augura a te personalmente un felice anno nuovo, e ti ringrazia per la visita.

Marco Leo Alejandro Matteo Alessandro Gaspar
Elena Renata Elena Anna Pietro Elena
Fiona

{ Comments on this entry are closed }

Dopo l’albero, le luci di Natale

by Gaspar Torriero on 09/12/2014

Dopo l’albero di Natale con Scratch, ecco le luci di Natale con Arduino:

Il relativo codice (migliorabilissimo):

/*
  Arrays
 
 Demonstrates the use of  an array to hold pin numbers
 in order to iterate over the pins in a sequence. 
 Lights multiple LEDs in sequence, then in reverse.
 
 Unlike the For Loop tutorial, where the pins have to be
 contiguous, here the pins can be in any random order.
 
 The circuit:
 * LEDs from pins 3 through 11 to ground
 
 created 2006
 by David A. Mellis
 modified 30 Aug 2011
 by Tom Igoe
 modified 08 Dec 2014
 by Gaspar Torriero
 
 The original code is in the public domain.
 
 http://www.arduino.cc/en/Tutorial/Array
 */

int N;
int timer = 100;           // The higher the number, the slower the timing.
int selector = 4;
int ledPins0[] = {
  3, 4, 5, 6, 7, 8, 9, 10, 11};       // an array of pin numbers to which LEDs are attached
int ledPins1[] = {
  3, 6, 9, 4, 7, 10, 5, 8, 11};       // an array of pin numbers to which LEDs are attached
int ledPins2[] = {
  3, 11, 4, 10, 5, 9, 6, 8, 7};       // an array of pin numbers to which LEDs are attached
int ledPins3[] = {
  3, 5, 7, 9, 11, 4, 6, 8, 10};       // an array of pin numbers to which LEDs are attached
int pinCount = 9;           // the number of pins (i.e. the length of the array)

void setup() {
  for (int N = 3; N < 12; N++) {
    pinMode(N,OUTPUT);
  }
}

void loop() {
  timer = analogRead(A0);
  // one of the next two lines must be uncommented
  selector = (analogRead(A1) / 255); // knob-selected status
  //selector = random(3); //random status

  if (selector == 0) {
    // loop from the lowest pin to the highest:
    for (int thisPin = 0; thisPin < pinCount; thisPin++) { 
      // turn the pin on:
      digitalWrite(ledPins0[thisPin], HIGH);   
      delay(timer);                  
      // turn the pin off:
      digitalWrite(ledPins0[thisPin], LOW);    

    }

    // loop from the highest pin to the lowest:
    for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) { 
      // turn the pin on:
      digitalWrite(ledPins0[thisPin], HIGH);
      delay(timer);
      // turn the pin off:
      digitalWrite(ledPins0[thisPin], LOW);
    }
  }

  else if (selector == 1) {
    // loop from the lowest pin to the highest:
    for (int thisPin = 0; thisPin < pinCount; thisPin++) { 
      // turn the pin on:
      digitalWrite(ledPins1[thisPin], HIGH);   
      delay(timer);                  
      // turn the pin off:
      digitalWrite(ledPins1[thisPin], LOW);    

    }

    // loop from the highest pin to the lowest:
    for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) { 
      // turn the pin on:
      digitalWrite(ledPins1[thisPin], HIGH);
      delay(timer);
      // turn the pin off:
      digitalWrite(ledPins1[thisPin], LOW);
    }
  }

  if (selector == 2) {
    // loop from the lowest pin to the highest:
    for (int thisPin = 0; thisPin < pinCount; thisPin++) { 
      // turn the pin on:
      digitalWrite(ledPins2[thisPin], HIGH);   
      delay(timer);                  
      // turn the pin off:
      digitalWrite(ledPins2[thisPin], LOW);    

    }

    // loop from the highest pin to the lowest:
    for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) { 
      // turn the pin on:
      digitalWrite(ledPins2[thisPin], HIGH);
      delay(timer);
      // turn the pin off:
      digitalWrite(ledPins2[thisPin], LOW);
    }
  }

  else if (selector == 3) {
    // loop from the lowest pin to the highest:
    for (int thisPin = 0; thisPin < pinCount; thisPin++) { 
      // turn the pin on:
      digitalWrite(ledPins3[thisPin], HIGH);   
      delay(timer);                  
      // turn the pin off:
      digitalWrite(ledPins3[thisPin], LOW);    

    }

    // loop from the highest pin to the lowest:
    for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) { 
      // turn the pin on:
      digitalWrite(ledPins3[thisPin], HIGH);
      delay(timer);
      // turn the pin off:
      digitalWrite(ledPins3[thisPin], LOW);
    }
  }
}

{ Comments on this entry are closed }

Ho fatto l’albero!

by Gaspar Torriero on 08/12/2014

(clicca la bandierina verde)

{ Comments on this entry are closed }

Arduino al Coder Dojo Ticino

by Gaspar Torriero on 07/11/2014

Metto qui le slide che userò domani al Coder Dojo Ticino. Partiremo seguendo i capitoli 1 e 2 del libro dei progetti dello Starter Kit per prendere confidenza col mezzo, e proseguiremo con Scratchbot che è una versione appositamente modificata di Scratch per interagire con Arduino.

Tra parentesi: oggi è il compleanno di questo blogghettino, nato il 7 novembre 2001. 3.169 post, e non mi sono ancora stufato.

{ Comments on this entry are closed }

Un mese fa mi è arrivato a casa a Como lo scatolino di Sam Knows, un servizio che cerca di misurare il più accuratamente possibile le reali prestazioni dei fornitori di accesso internet nel mondo. I grafici del primo mese di utilizzo non sono incoraggianti.

What is ‘UDP Packet Loss’?

Packet loss is relatively rare in modern networks [e infatti]. That said, some broadband providers have been known to suffer high packet loss at peak times. If this is the case for your ISP, you may find that time sensitive applications such as Voice over IP (VoIP) and online gaming will suffer. Packet loss is recorded as a percentage; lower is better.

ADSL Alice 20Mb di Telecom Italia ADSL Alice 20Mb di Telecom Italia

What is ‘UDP Latency’?

This test measures how long it takes one packet to be sent to one of our test servers and then return back to you. This can effectively be thought of as the responsiveness of the connection between your home and our servers on the Internet. Times are recorded in milliseconds; lower is better.

ADSL Alice 20Mb di Telecom Italia ADSL Alice 20Mb di Telecom Italia

 

Per la cronaca, ho una connessione Alice 20 Mega che da qualche mese (da quando a Como hanno messo la fibra fino al marciapiede?) funziona al massimo nominale, mentre l’anno scorso viaggiava tra gli 11 e i 14 Mbit in download.

netgear_2014_10

 

Ci sarebbe l’offerta tuttofibra che promette 30Mb in download e 3Mb in upload nominali, anche se ovviamente “l’effettiva velocità dipende da molteplici e variabili fattori tecnici”. Offerta che potrei anche considerare se riguardasse solo la connessione. Ma invece viene assieme a un sacco di altre cose che non mi interessano:

  • il telefono VoIP che ho già Skype, grazie
  • le chiamate gratuite illimitate ma non più di 50 minuti al giorno
  • I telefoni cordless “a solo 1€” ma se disdici il contratto li paghi 50€
  • Internet Pay “per acquistare online contenuti digitali con addebito sul conto (Telecom Italia, ho da darvi una brutta notizia: c’è già PayPal)

Quindi per ora soprassiedo, aspettando che la perdita di pacchetti UDP scenda a 0 e che la latenza media si attesti sotto i 10ms.

{ Comments on this entry are closed }

iBeacon trials and errors

luglio 30, 2014

Trials: Selected users of the American Airlines app will be sent messages aimed primarily at guiding them round the airport. This will include information about walking time to gates and boarding updates. American Airlines says that 65% of passengers arrive at their gate early because they are worried about being late or getting lost. Tesco’s […]

Read the full article →

Da Arduino a MySQL: ho aggiunto la temperatura esterna

giugno 26, 2014

Dato che Yahoo Weather offre il feed della situazione meteo della mia città, ho deciso di aggiungere questi dati al mio database, in modo da avere sia la temperatura interna che quella esterna. Ho quindi modificato il codice in Python aggiungendo queste righe: from xml.dom.minidom import * import urllib import csv LocationID = ‘714505’ # Fetch […]

Read the full article →