Condividi:        

Excel 9.0 vs. Pallottoliere 1.0!

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel 9.0 vs. Pallottoliere 1.0!

Postdi basanet » 10/06/02 11:20

Salve a tutti! Vi scrivo per avere chiarimenti circa uno "strano comportamento" di Excel 2000...
Ebbene, come da screenshot, pare che le divisioni non siano proprio il punto di forza di Excel...


Immagine


Forse sbaglio qualche cosa (E' sempre bene tenere presente il vecchio detto "Noli foras ire, sed in te ipsum rede"), ma davvero non saprei dove cercare lo sbaglio... è lui stesso che mi mette denominatore e numeratore, poi fa la divisione e... è sbagliata! Beninteso, la funzione "RESTO" mi dovrebbe dare solo il resto, appunto, senza le unità intere, ma il risultato è comunque sbagliato perchè dovrebbe essere circa 0,7311... e non 0,0997...
Qualcuno è a conoscenza di problemi del genere con Excel 2000? E se sì, sapete anche indicarmi se la MS abbia rilasciato l'apposita patch?
TNX a tutti!

P.S.: il denominatore (o divisore) è stato moltiplicato per un coefficiente di 24 in quanto esprime una durata in giorni, mentre a me serve che la durata sia espressa in ore. La funzione "QUOZIENTE" applicata allo stesso modo e sulle stesse celle funziona correttamente, restituiendo il risultato (intero, ovviamente) di 11.
* basanet *
basanet
Utente Senior
 
Post: 204
Iscritto il: 05/12/01 01:00
Località: Udine

Sponsor
 

Non vedo lo screenshot, ma...

Postdi Michele76 » 10/06/02 13:28

a me la funzione resto FUNZIONA (scusa il gioco di parole).
Direi che prima di giungere alla solita conclusione "bug di winzozz, patch della M$" è il caso di provare.
Insomma, M$ avrà tanti difetti, ma di sicuro Excel non sbaglia le divisioni.
Comunque, prova a controllare il formato dei numeri, ho visto che parli di date, giorni, ore; io di solito per non far casini EVITO i formati tipo valuta, data, ecc.
tanto col formato normale volendo fai tutto.

Ciao.
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi basanet » 10/06/02 14:37

Ma la tua versione è la 2000 (9.0)? Sono d'accordo con il fatto che si tratterebbe, se fosse vero, di un errore "grossolano", ma la mia ipotesi si fonda su di un vago ricordo: mi pareva, infatti, di aver sentito di qualche bug, all'epoca dell'uscita di Office 2000, in Excel...
In ogni caso è altamente probabile, come tu stesso hai suggerito, che io abbia pasticciato con i formati numerici, dato il coinvolgimento di un valore espresso in ore.
Ma secondo te (approfitto un momento per sottoporti il problema di base) come faccio ad ottenere in una cella un valore di velocità (Km/h) avendo in una prima cella la distanza percorsa e in una seconda il tempo impiegato (espresso in ore, minuti e secondi)? Vorrei evitare, infatti, di farmi a mano ogni volta la conversione del tempo in una frazione di ore, o meglio, il mio orgoglio mi impone di trovare una soluzione, dal momento che sono certo che Excel preveda la possibilità di calcolarlo automaticamente. Fino ad ora ho proceduto ottenendo in una cella la somma di quoziente e resto di spazio e tempo (non mi è riuscito di trovare una fuzione di divisione che mi restituisca direttamente il risultato comprensivo di parte intera e decimali :o :( ): mentre il quoziente funziona, però, il resto, come già detto, non è corretto...
Spero tu possa darmi qualche dritta... :)
* basanet *
basanet
Utente Senior
 
Post: 204
Iscritto il: 05/12/01 01:00
Località: Udine

Postdi piercing » 10/06/02 15:46

poniamo che tu abbia nella cella A1 il valore (in formato hh.mm.ss) 1.23.45

Nella cella A2 gli fai scrivere la formula =A1*24 e la mett in formato decimale con quanti decimali ti pare a te.... e la conversione in ore è fatta!

Poi ci metti i Km nella cella A3

e nella A4 fai la divisione tra Km e ore (=A3/A2)

Per il resto del bug non c'ho capito niente.. ma mi sembra alquanto strano un bug del genere.

ciao
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Io ho Excel 2000 (office 2k premium ed)...

Postdi Michele76 » 10/06/02 17:32

e per quanto riguarda excel, ho usato tutte le versioni dalla 3.0 in poi, mai sentito parlare di bug, ad ogni modo non polemizziamo.

Io proverei così:
cella A1 inserisci le ore
in B1 i minuti
in C1 i secondi
in D1 lo spazio in km
TUTTO COL FORMATO NUMERICO NORMALE

e in E1 ti calcoli la velocità in km/h con la formula
=D1/(A1+B1/60+C1/3600)

fatto ! (spero)

Ciao.
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi basanet » 10/06/02 17:38

Grazie Michele. Penso che la soluzione funga. Speravo ci fosse una soluzione più "smart", ma questa va ugualmente bene!
Ancora grazie...
;)
* basanet *
basanet
Utente Senior
 
Post: 204
Iscritto il: 05/12/01 01:00
Località: Udine

Postdi piercing » 10/06/02 19:39

e la mia che aveva di male!!?? :(
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi Michele76 » 10/06/02 21:02

...che non c'ho capito un caz... !

Me la spieghi un po' meglio la storia di moltiplicare per 24 il numero in hh.mm.ss ?
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi basanet » 10/06/02 21:07

Per Piercing: Scusami Pierce!!! Non avevo visto che avevi postato anche tu! Quando ho ricevuto la notifica di nuovo post, sono andato subito in fondo al topic e il tuo msg mi è sfuggito... mi cospargo il capo di cenere! :oops:
Comunque, ora che leggo quello che hai scritto, posso dirti che quello che facevo era più ho meno quello che suggerivi. Ho infatti convertito l'ora in decimale, diviso per 24 (visto che comunque, nella conversione di un'ora, Excel usa come unità di misura il giorno) e usato tale valore come denominatore in una frazione con al numeratore i Km, il tutto in un unico passaggio (questo intendevo per "smart"!). I problemi sono i seguenti:

1. Excel non prevede (o semplicemente io non la conosco) una funzione che permetta di dividere un numero per un altro tenendo conto simultaneamente sia della parte intera che del resto; se usi QUOZIENTE il risultato è solo la parte intera (senza il resto), se usi RESTO il risultato è, appunto, solo il resto. E' quindi necessario eseguire le due operazioni separatamente e sommare poi i risultati.
2. l'esecuzione della funzione RESTO su un dato del tipo "ora" (h) ma che sia espresso in decimali, per qualche oscuro motivo, da un risultato sbagliato (vedi screenshot del mio primo post - prova a fare la divisione del numeratore con il denominatore, togli la parte intera e vedi se il risultato coincide con quello fornito da Excel!).

Per Michele: Come ho accennato poco sopra, Excel tratta i dati che esprimono una data (scusa il gioco di parole!) prendendo come unità di misura il giorno (le 24 ore per intenderci). In altre parole, quando converte in decimali un numero espresso in hh:mm:ss, lo esprime poi in termini di frazione del giorno. Se l'entry è quindi 24h:00m:00s, il decimale sarà 1. Se voglio avere tale dato espresso in ore, quindi, devo moltiplicare il decimale per 24. ¿Es mas claro?

Sono comunque soddisfatto per la risposta di Michele (che ringrazio nuovamente...), ma sarei in ogni caso curioso di sapere cosa non funziona nel procedimento che usavo prima... se qualcuno viene folgorato sulla via di Damasco e giunge a svelare l'arcano, si faccia avanti! Grazie comunque e sempre a tutti!!!

:) :) :)
* basanet *
basanet
Utente Senior
 
Post: 204
Iscritto il: 05/12/01 01:00
Località: Udine

Postdi Michele76 » 10/06/02 21:37

Ah, adesso ho capito.
In tanti anni è la prima volta che mi cimento con date e ore, figuratevi !
Cmq non capisco il problema del resto (a che ti serve ?), mi pare che la soluzione di piercing sia la migliore, se vuoi puoi anche fare il tutto in una cella sola,senza passare per la conversione in decimale (ho appena provato):
A1: hh.mm.ss
B1: km
C1 = B1/(A1*24) e basta che in C1 specifichi il formato numerico normale.
Insomma, gira e rigira la soluzione è quella. Ciao
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi piercing » 10/06/02 23:26

:P ora si che sono contento....

scusa ma la funzione divisione cui tu accenni si fa semplicemente così /

a/b = quoziente(a/b) + resto(a/b)

strano ma vero!! ;) anzi neanche tanto strano...
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi Michele76 » 11/06/02 08:49

uhm, ha senso questa formula ?

a/b = quoziente(a/b) + resto(a/b)

Non è excel che sbaglia, è la formula che è sbagliata!

(se a =7 e b=3, a/b=2,33333 mentre con la formuletta ottieni 3)

Io cmq ho provato a fare un po' di divisioni tra nuemri con hh.mm.ss ed il resto mi da il risultato giusto, basta stare attenti a dove mettere il coeff. 24 e soprattutto non è la stessa cosa moltiplicare per 24 il numeratore o dividere per 24 il denominatore nelle formule, cioè

RESTO(A1*24/B1) e RESTO(A1/(B1/24)) NON SONO LA STESSA COSA,
è perfettamente normale che sia così.

Spero di essere stato utile, ciao.
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi piercing » 11/06/02 10:38

prima di scrivere un testo di matematica....

premetto che io non ho la funzione QUOZIENTE su Excel (perchè voi sì?)

Quindi mi sono solo basato su quello che è stato scritto, e cioè che questa funzione torna la parte intera della divisone, così come RESTO (meglio noto come MOD) torna la parte decimale...
ma mi viene difficile provarle.. causa indisponibilità della funzione.

Si sa comunqe che nei calcoli con numeri decimali di precisione, Excel è alquanto impreciso....

Matematicamente parlando è la stessa cosa dividere il divisore per 24 o moltiplicare il dividendo per 24.... poi per i giochetti dei resti di Excel è ovvio che venga diverso... (e per i giochetti di parentesi)

Comunque la funzione RESTO della divisione (a/b) lavora così:

RESTO(a, b) = a - b*INT(a/b)

Sarebbe assai utile definire a priori la precisione del calcolo... e utilizzare valori precedentementi arrotondati per non incappare in questi errori; conviene infatti non lavorare mai su numeri piccoli per poi moltiplicarli per numeri grandi... ma moltiplicare prima per numeri grandi e poi dividere per quelli piccoli.... potere della non matematica del nostro amato Pallottoliere 1.0

Oppure la soluzione migliore è quella di farsi una funzioncina personalizzata in VBA definendo con accuratezza il tipo di dati da passare, così questi errori si perderbbero nel buio... è chiaro che le funzioni predefinite servono a rispondere alla maggior parte delle esigenze utente, na non certo alle esigenze di NOI esperti matematici :lol:
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi Michele76 » 11/06/02 13:44

Secondo me Excel è preciso anche con molti decimali,
non vorrei sollevare polemiche ma quello che si vede a video (penso lo sappiate, no?) è sempre il n° arrotondato, in realtà lui fa i calcoli con tutte le cifre possibili,
(ecco perchè a volte sembra sbagliare le somme sui decimali)
a meno di non usare esplicitamente la funzione ARROTONDA.
Io per esempio ci faccio spesso dei calcoli iterativi usando il risolutore, fino a che convergono
alla sesta cifra decimale, ma giusto perchè non mi serve andare oltre, sennò puoi andare anche a 100 cifre dopo la virgola.

Sulla storia delle parentesi, c'è da dire che se prendi i decimali ottieni lo stesso numero,
ma con gli interi e i resti, no; questo succede sia in excel sia alle sQuole elementari:

se fai il resto di 5/3 ottieni 1 col resto 2.

Ma se fai il resto di 5*24/(3*24) = 120/72 ottieni 1 col resto 48.

Ciao.

Per Basanet: l'unica cosa che non ho ancora capito è a che diavolo ti serve il resto per sapere i km/h !?!
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi basanet » 11/06/02 13:52

Orbene, vediamo di fare il punto della situazione.
Per Piercing: Per quanto riguarda la funzione QUOZIENTE, il fatto che tu non ce l'abbia tra quelle disponibili è perchè (misteriosamente) Excel la considera come funzione aggiuntiva e richiede pertanto che venga installata in un secondo momento, a meno che tu non abbia fatto un'istallazione "totale globale" di Office che comprenda così fin dall'inizio tutte le innumerevoli (e spesso inutili) funzioni aggintive, appunto.
Per quanto riguarda il discorso delle approssimazioni nei calcoli: è necessario considerare che se impongo, come criterio standard, di trattare tutti i dati (in tutte le celle) con almeno due decimali, tutte le operazioni devono restituire risultati con almeno 4 decimali (che poi, però, posso venire approssimati a 2 nel calcolo successivo)... questo quanto suggeriscono le convenzioni matematiche. Ciò premesso, mi trovi pienamente d'accordo sul discorso in merito all'ordine con il quale eseguire divisioni e moltiplicazioni in relazione alla grandezza assoluta dei numeri in gioco... il problema di fondo è che non ho scelto io di esprimere il dato sul tempo in "giorni"... è un settaggio di Excel, che, per altro, mi obbliga ad eseguire la moltiplicazione per 24 e ad avere a che fare comunque con numeri piuttosto piccoli (i minuti o le decine di minuti rappresenteranno sempre e comunque una frazione insignificante del giorno...). Forse l'inghippo risiede proprio in questo, ma... è mai possibile che non si possa pretendere un calcolo così semplice da un programma che - a sentire la Microsoft - è pronto per smuovere montagne di numeri? Dopotutto è una semplicissima divisione con resto in decimali!
Per Michele: sulla base di quanto considerato poco sopra, anche il tuo discorso sull'ordine dei fattori moltiplicativi non può che trovarmi d'accordo... contravvenendo ad una delle regole basilari della matematica, infatti, Excel dimostra che invertendo l'ordine dei fattori il prodotto CAMBIA! Tutto questo, ovviamente, a causa dei procedimenti di arrotondamento... proverò dunque a rieseguire tutti i calcoli mantenendo un numero maggiore di decimali e verificando se l'errore viene almeno contentenuto. Devo tuttavia considerare che un margine di 6 unità al primo decimale (0,6 quindi) mi pare verosimilmente troppo ampio per poter essere giustificato solamente con problemi di arrotondamento... non mancherò di farvi sapere, ovviamente!
A presto! ;)
* basanet *
basanet
Utente Senior
 
Post: 204
Iscritto il: 05/12/01 01:00
Località: Udine

Postdi basanet » 11/06/02 13:54

:o Uh... scusa Michele: abbiamo postato nello stesso istante! Ovviamente ho bisogno ancora di un po' di tempo per verificare i calcoli con un diverso numero di decimali! ;)
A cosa mi servono i decimali (e, in realtà, me ne basterebbero solamente 2)? Be', il fatto è che tutti i dati di cui stiamo parlando (percorrenze, tempi e, dunque, velocità) sono riferiti a delle performances sportive sulle quali sto costruendo dei grafici di studio (a dispetto della mia passione per l'informatica, sono uno studente di Medicina!) e il fatto di considerare i soli numeri interi non mi permette di discernere bene le differenze tra le diverse performances...
Circa la considerazione sul resto di 48: il tuo assunto è corretto solo nel calcolo frazionario (il 48, infatti, è e rimane in realtà un 48/72, mentre il 2 dell'esempio precedente è, naturalmente, un 2/3). Excel ti restituisce, come resto, l'intera frazione già calcolata come numero reale e non più come frazione, tantomeno come solo numeratore! In ogni caso il resto è pari a 0,667 (approssimato al terzo decimale), mentre, come già detto, la parte intera è sempre 1: ne consegue che la somma di quoziente e resto è (almeno per noi, mentre Excel non sembra del tutto d'accordo) 1,667 (sempre al terzo decimale)...
* basanet *
basanet
Utente Senior
 
Post: 204
Iscritto il: 05/12/01 01:00
Località: Udine

help me...

Postdi Michele76 » 11/06/02 18:24

Per Basanet: mi pare che siamo di fronte a due diverse definizioni del RESTO:
cioè i decimali dopo la virgola (quella che intendi tu),
oppure il resto così come me l'hanno insegnato alle sQuole elementari (che è anche quello di excel).
Prova a moltiplicare il RESTO che ti dà excel per il denominatore e dovresti ottenere il RESTO, stavolta esatto,
come lo intendi tu.

Per tutti: dato che siamo in tema di Excel, stavolta ho proprio bisogno di una mano:

ho due variabili da mettere in un grafico, con il tempo sull'asse X;
di ciascuna variabile ho una serie di dati acquisiti (cioè coppie di numeri tempo e variabile), già ordinati nel senso crescente del tempo.
Beh, direte voi, qual'è il problema ?

a) di una variabile ho 500 valori, dell'altra ne ho 200, ma l'intervallo di tempo è lo stesso (da 0 a 0,5 s).

b) non sono campionate ad intervalli regolari, ma in alcuni istanti sono più fitte, in altri no.

Dunque, provando i vari tipi di grafici per ottenere le curve (che poi gira e rigira sono due: linee e dispersione !), ho trovato questo problema:

finchè i valori X (tempo) sono gli stessi, non c'è nessun problema; ma utilizzando due colonne diverse
per il tempo (etichette asse x per la 1a e 2a variabile) Excel non è più in grado di farlo (e ho paura che non ci sia una soluzione)e
da solo (!!!) decide di mettere in x il numero progressivo del valore, cioè va da 1 a 500 per l'asse x.
DAto che a me interessa il confronto delle due variabili istante per istante, poco importerebbe avere una scala diversa
sull'asse x, ma così facendo, la curva della 2a variabile, che arriva a 200 valori, finisce ai 2/5 della scala;
insomma, come se fosse stata campionata tra 0 e 0,2 s anzichè 0,5 s.
In prima battuta ho anche pensato a togliere i dati in più dalla prima variabile, per averne 200 per entrambe,
ma non essendo campionate ad intervalli regolari il problema rimane, perchè ho sempre due colonne di valori diversi per il tempo.
Ho pensato anche di fare due grafici a parte, inserire le linee di tendenza, poi con le due equazioni creare un foglio excel
che a partire dalla colonna del tempo calcoli le due variabili e quindi mettere tutto in un grafico;
ma le linee di tendenza approssimano troppo, non funziona con due segnali così rapidamente variabili.

Ringrazio da subito chi saprà aiutarmi o anche semplicemente si interesserà del problema.
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi Sandman » 11/06/02 23:00

Ciao, scusa se magari ti suggerisco delle boiate, però qualche idea potrebbe essere:

Fai due grafici separati creandoli come oggetto grafico all'interno del foglio di lavoro corrente (cioè non ciascuno nel suo foglio di lavoro) e poi li metti banalmente uno sotto l'altro ridimensionandoli larghi uguali (così hai un confronto visivo dei due andamenti, tanto la scala sull'asse x è la stessa).

Se ti serve avere un grafico solo per inserirlo in un qualche documento e hai corel draw (o altro programma di grafica vettoriale) puoi copiare i due grafici ed incollarli come immagini vettoriali nella stessa immagine e a quel punto farci tutto ciò che vuoi (ovvio che il confronto tra le due serie di dati resta visivo, non puoi fare conti sui grafici).

Usa un programma come Microal Origin..è più adatto a questo tipo di problemi e credo che non abbia problemi (scusa la ripetizione) a fare quanto chiedi...che io sappia esiste la versione trial scaricabile
Sandman
Utente Junior
 
Post: 17
Iscritto il: 02/01/02 01:00

Postdi zello » 12/06/02 13:16

finchè i valori X (tempo) sono gli stessi, non c'è nessun problema; ma utilizzando due colonne diverse
per il tempo (etichette asse x per la 1a e 2a variabile) Excel non è più in grado di farlo (e ho paura che non ci sia una soluzione)e
da solo (!!!) decide di mettere in x il numero progressivo del valore, cioè va da 1 a 500 per l'asse x.


A me è riuscito (almeno se ho capito).
Domande:
1) il grafico è a dispersione?
2) (Ho excel 97 adesso, e quindi mi riferisco a questa versione, ma non dovrebbe essere cambiato un granché) nell'autocomposizione grafico a dispersione, II step, hai un tab "Serie", tramite il quale puoi specificare valori per X e Y. Hai usato questo sistema per indicare qual'è la zona del foglio da usare come asse X per ciascuna delle due serie?

Puoi comunque sempre interpolare linearmente (o anche con una funzione diversa) i dati che ti mancano.

Chiedo scusa se non ho capito il problema.

Saluti
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44

Grazie a tutti per l'interessamento...

Postdi Michele76 » 12/06/02 13:41

anche se ho risolto da solo.

Per Zello:
si, il grafico è a dispersione ogni serie ha i propri valori x ed y specificati, ma il problema è un po' più complesso:
a) le due serie di variabili sono due segnali, o meglio, due tracciati di una vibrazione di un componente meccanico. Non posso interpolare linearmente, perchè le curve sono troppo "oscillanti" per farlo, rischio di compromettere l'attendibilità dei risultati (cioè di inventare dati non esistenti).
b) non sono campionate ad intervalli regolari, tipo ogni 0,001 s la prima ed ogni 0,002 s l'altra (altrimenti sarebbe bastato togliere un dato si e uno no), bensì ad intervalli "random" (in realtà non sono presi a caso, lascio perdere la spiegazione sennò facciamo notte), il che significa impazzire letteralmente con l'interpolazioni.

Comunque mi sa che stavolta ho trovato un paio di bug veri:

specificado il tipo di grafico "linee", ovviamente in x ho il numero di dati, anzichè il tempo. Ora io mi aspetto che andando nelle opzioni del grafico e cambiandolo in "dispersione" specificndo per bene le due serie x,y di dati, la cosa funzioni. Invece no, funziona solo se da subito lo si fa in dispersione! In tal caso se lo si converte in "linee" non funge più, ma se lo si riconverte in "dispersione"... riprende a funzionare! Comportamento anomalo, direi.

Altro problemino:
mi sono imbattuto in una serie con 1200 dati (!), stavolta anche il grafico dispersione ha fallito! Pare che non possa gestire bene più di 1024 dati per serie (mi sembra questo il limite che ho trovato). Allora ho spaccato in due la serie troppo lunga, mettendone due dello stesso colore per farla sembrare una sola sul grafico.
Spero che magari questa dritta possa servire a qualcun altro.

Scusate se sono stato noioso, ma era un emergenza (devo finire la tesi di laurea!). Di nuovo grazie a tutti.
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Excel 9.0 vs. Pallottoliere 1.0!":


Chi c’è in linea

Visitano il forum: Ricky0185 e 47 ospiti