Buona sera a tutti,

Il problema sollevato da Alberto Benedetto circa la differenza del
risultato tra la funzione somma (a1;a3) e =a1+a2+a3 quando un numero è
preceduto da ' si risolve con le opzioni di LO. Aperto un foglio di calc
vuoto *strumenti-> opzioni ->lo calc -> formula-> impostazioni
dettagliate dei calcoli.* Spuntare personalizzato e cliccare su
/dettagli/. nella scheda che si apre  selezionare 'conversione da testo
a numero' con 'Tratta come zero' e spuntare la voce 'tratta stringhe
vuote come zero'.

Con queste impostazioni l'esempio posto da Benedetto 265,5 in a1, '56 in
a2 e 325 in a3 da correttamente il valore 590,5 sia con funzione somma
sia con la somma nella versione =a1+a2+a3, ovvero scartando il valore
'56 trattato come testo e non come numero.

Quindi correttamente non è stato ritenuto un bug.

Gian Paolo Marcolongo



Il 15/11/21 09:47, Alberto Benedetto ha scritto:
> Buongiorno,
> ho fatto la segnalazione come possibile bug con tanto di esempi ed è
> stata chiusa dopo un giorno con la motivazione "not a bug".
> Ringrazio per la nota che evita il cambio della lingua da
> italiano-italia a italiano-svizzera (o inglese US) con il consiglio di
> farlo solo al momento dell'importazione del foglio.
> In effetti io uso calc il modo intensivo con tutti file derivanti da
> acquisizione di strumentazione e hanno sempre il separatore decimale
> come "punto", per cui ho impostato il locale di default.
> Dovendo importare molti file contemporaneamente ho poi realizzato una
> macro che permette, con una gui, di selezionarli  in modo massivo e di
> aggiungere automaticamente dei fogli alla cartella.
> Se qualcuno è interessato ad utilizzarla la posso condividere.
> Grazie a tutti per i consigli sempre costruttivi
>
> Alberto Benedetto
> ------------------------------------------------------------------------
> *Da: *"gianpaolo_marcolongo" <gianpaolo_marcolo...@newwhitebear.net>
> *A: *"libreoffice users" <users@it.libreoffice.org>
> *Inviato: *Venerdì, 12 novembre 2021 23:59:56
> *Oggetto: *Re: [it-users] Addizione e somma
>
> buona sera,
>
> leggo con interesse la mail di Carlo Strata. Confermo che la funzione
> somma agisce correttamente senza conversioni o altri impicci sia se
> scrivo =somma(a1;a3) sia che scriva =somma(a1;a2;a3). Per contro
> =a1+a2+a3 se trova un campo definito numero non controlla nulla. La
> prova di questo è basta aggiungere una quarta cella e definirla testo -
> ovvero @ - e lì immettere un numero la scrittura =a1+a2+a3+a4 dà come
> risultato la somma delle tre prime celle, definite numeriche. Quindi
> l'ipotesi che venga eseguita una conversione da stringa a numero non
> appare credibile. In altre parole la funzione somma e la somma manuale
> usano controlli diversi. Rimango dell'avviso che che sia un bug di calc.
>
> Per quanto riguarda il punto d) la prova suggerita di importazione i
> dati vengono trasformati in testo e la loro somma con la funzione dà 0.
> Quello che scrive al punto vale solo se creo un file realmente csv o txt
> e poi lo importo, come ho verificato. Il suggerimento di selezionare
> inglese US risolve il problema del punto e la funzione somma da un
> valore corretto.
>
> La soluzione suggerita di trovare ' ed eliminarli non funziona per il
> banale motivo che essendo il campo numerico non riconosce l'apice '
>
> Buona notte a tutti
>
> Il 12/11/21 22:33, Carlo Strata (tiscali.it) ha scritto:
> > Ciao a Tutti,
> >
> > ho letto le tre vostre mail. Alcune mie considerazioni:
> >
> > a) non mi meraviglia che la SOMMA() dell'intervallo sommi solo le
> > celle effettivamente numeriche e non quelle formattate come numeriche
> > che non contengono un numero perché la stringa che sembrerebbe
> > rappresentarlo è preceduta da un ' che comporta che il foglio veda
> > quel valore come testo ignorando quello che per gli occhi umani
> > potrebbe rappresentare; direi che è corretto perché '123 potrebbe
> > essere il nome di un marchio e non il numero centoventitre,
> > soprattutto perché quello (A1:A3, ad esempio) è un unico parametro
> > della funzione SOMMA();
> >
> > b) la scrittura invece di =A1+A2+A3 comporta la valutazione di tre
> > celle (parametri o variabili) per poi eseguirne i calcoli indicati,
> > probabilmente sulle singole celle un numero puro o un numero come
> > stringa vengono visti sempre come numero perché evidentemente ne viene
> > tentata sempre la conversione da testo a numero (similmente alle
> > funzioni VALORE() o VALORENUMERO()); questo comportamento potrebbe
> > essere un'eredità storica voluta (!) di tutti i fogli elettronici
> > (LO/OO Calc, Microsoft Excel, Google Fogli, Gnumeric, ...) dai tempi
> > di Lotus 123... ;-)
> >
> > c) potrebbe essere una interessante conferma del tentativo di
> > conversione del parametro costituito da una singola cella a numero da
> > parte del foglio elettronico provare a valutare l'espressione
> > =SOMMA(A1;A2;A3) che è assurda ed inefficiente per celle adiacenti (e
> > che considero errore da parte dei miei Studenti di scuola superiore);
> >
> > d) non serve cambiare locale (IT-CH, ad esempio, come scrivete) per
> > importare bene un csv (ad esempio gli OpenData degli enti pubblici
> > italiani) per leggere correttamente un numero con il punto come
> > separatore decimale, ma nella potente finestra che si apre prima
> > dell'importazione finale di un file .csv, che mostra anche
> > un'anteprima dell'importazione dei dati, basta scegliere per le
> > colonne che contengono i tipo di dato con il punto decimale il tipo di
> > colonna "Inglese US". Fate subito una prova selezionando
> > esclusivamente da questa mail queste successive quattro righe:
> > 25.3
> > 12.3
> > 12.8
> > 24.9
> >
> > ed incollandole in una cella Calc, vi si aprirà subito la schermata di
> > importazione file .csv (con una sola colonna, ma non importa).
> > Cliccate sulla parola "standard" in testa all'anteprima della colonna
> > e vedrete che si accenderà anche il campo "Tipo colonna" che sarà
> > impostato a standard, cliccate standard e scegliete appunto "Inglese
> > US" e poi su OK ed il gioco è fatto.
> >
> > e) discorso diverso se i numeri sono già scritti con un apice
> > anteposto nel csv stesso e voi volete importare i dati come numeri...
> > Ad esempio:
> > '25.3
> > '12.3
> > '12.8
> > '24.9
> >
> > Un metodo è:
> > e.1) trova ' e sostituisci con nulla relativamente alla colonna
> > e.2) seleziono la colonna --> tasto destro copia --> taste destro
> > incolla speciale --> Testo non formattato --> si apre la finestra di
> > importazione file .csv e mi comporto come il punto d).
> >
> > Spero di avervi potuto aiutare.
> >
> > Notte a tutti,
> >
> > Carlo
> >
> > Il 12/11/21 10:22, Alberto Benedetto ha scritto:
> >> Buongiorno,
> >> fatto prova anche con libreoffice 7.3.2.1 sotto opensuse e si
> >> presenta lo stesso curioso problema che credo si possa definire bug.
> >> C'è anche da notare che la funzione VAL.TESTO riferita alla cella con
> >> il numero con l'apice restituisce correttamente VERO, e questo è
> >> corretto anche se nel formato della cella è definita la categoria
> >> "Numero".
> >> In generale il formato della cella non può modificarne il "tipo" e
> >> forse non dovrebbe neanche permettere di selezionarlo, per evitare
> >> interpretazioni ambigue delle azioni che si vogliono fare.
> >> Per quanto riguarda le importazioni numeriche da un file csv io ho
> >> adottato questo semplice stratagemma.
> >> Se nel file csv i numeri decimali hanno come separatore il punto,
> >> ovvero derivano da un'esportazione strumentale o più
> >> "internazionale", per evitare il cambio di interpretazione da numero
> >> a testo, visto il "locale" di default in libreoffice che è "italiano
> >> - italia" dove il separatore dei decimali è la virgola, basta
> >> impostare nelle opzioni-impostazione della lingua-lingua, il formato
> >> impostazione locale italiano-svizzera, dove il separatore dei
> >> decimali è il punto.
> >> Una volta salvato poi il file in ods, il numero sarà poi sempre
> >> interpretato correttamente anche al variare delle impostazioni della
> >> lingua.
> >> Saluti
> >>
> >> Alberto Benedetto
> >>
> >> Da: "gianpaolo_marcolongo" <gianpaolo_marcolo...@newwhitebear.net>
> >> A: "libreoffice users" <users@it.libreoffice.org>
> >> Inviato: Giovedì, 11 novembre 2021 17:16:14
> >> Oggetto: Re: [it-users] Addizione e somma
> >>
> >> Buongiorno a tutti,
> >>
> >> fatto qualche prova. Sistema Ubuntu 20.04lts, LO 7.3dev. Creata un
> >> foglio di calc valore in a2 con apice. la funzione SOMMA dà il valore
> >> corretto. Solo la somma di a1 e a3, scartando a2, numero preceduto
> da '.
> >> Se faccio =a1+a2+a3 viene sommato anche a2, come Magistrelli ha
> scritto.
> >> Se controllo formatta cella, tasto di destra, su A2 per calc è un
> >> numero. Questo potrebbe spiegare l'anomalia della somma diretta che non
> >> riconosce come testo a2. A questo punto aggiunto a4, formattatato come
> >> @, la funzione somma continua a scartare i valori non numeri, a2 e a4,
> >> ma la somma =a1+a2+a3+a4 dà errore in quanto un valore non è numerico,
> >> appunto A4, e propone la correzione automatica. Accettando la
> correzione
> >> il totale tiene conto di a2 e a4 in modo erroneo.
> >>
> >> In conclusione la funzione tratta correttamente solo i valori numerici
> >> definiti come tali, la somma diretta no. Credo che sia un bug
> meritevole
> >> di essere segnalato in quanto la somma diretta dovrebbe segnalare la
> >> presenza di valori di testo nella formula.
> >>
> >> Il 11/11/21 15:50, Carlo Magistrelli ha scritto:
> >>> Ciao.
> >>> *LibreOffice Calc su Ubuntu 20.04, versione 6.4.7.2 (ma anche altri
> >>> computer, SO e versioni più aggiornate).*
> >>>
> >>> Nel range A1:A3 ci sono tre valori.
> >>> Apparentemente sono numeri, ma uno di essi (A2) in realtà è un testo
> >>> (cioè
> >>> un numero preceduto da un segno di apostrofo).
> >>> Se in A4 immetto la formula =somma(A1:A3) il "falso" numero non viene
> >>> calcolato;
> >>> se in A5 immetto =A1+A2+A3 la somma invece tiene conto anche del
> >>> "falso"
> >>> numero.
> >>>
> >>> Per essere più precisi il "falso" numero era stato formattato come
> >>> testo
> >>> (codice formato @) ed allineato a destra; anche selezionandolo,
> >>> nella barra
> >>> della formula NON si legge l'apostrofo.
> >>> Per essere ancora più precisi, il tutto deriva dalla conversione di
> >>> un file
> >>> .csv ed i valori sono molte centinaia.
> >>>
> >>> Ho scoperto che si può alzare l'opzione "Evidenzia valori (ctrl+F8)" e
> >>> vedere che il "falso" numero è nero, mentre i "veri" numeri sono blu e
> >>> certamente, d'ora in poi, la terrò attivata.
> >>>
> >>> Però mi chiedo che logica ci sia dietro una simile differenza di
> >>> comportamento fra semplice addizione e funzione somma. Qualche idea?
> >>>
> >>> Grazie per l'attenzione.
> >>>
> >>> Carlo
> >>>
> >
>
> -- 
> Come cancellarsi: E-mail users+unsubscr...@it.libreoffice.org
> Problemi?
>  
> https://urlsand.esvalabs.com/?u=https%3A%2F%2Fit.libreoffice.org%2Fsupporto%2Fmailing-lists%2Fcome-cancellarsi%2F&e=6698ed98&h=bd13a779&f=y&p=n
>
> Linee guida per postare + altro:
>  
> https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwiki.documentfoundation.org%2FLocal_Mailing_Lists%2Fit&e=6698ed98&h=c6fa98cb&f=y&p=n
>
> Archivio della lista:
>  
> https://urlsand.esvalabs.com/?u=https%3A%2F%2Flistarchives.libreoffice.org%2Fit%2Fusers%2F&e=6698ed98&h=5fb24cac&f=y&p=n
>
> Privacy Policy:
>  
> https://urlsand.esvalabs.com/?u=https%3A%2F%2Fwww.documentfoundation.org%2Fprivacy&e=6698ed98&h=cd495559&f=y&p=n
>
>
> --
> Questo messaggio  stato analizzato con Libraesva ESG ed  risultato non
> infetto.

-- 
Come cancellarsi: E-mail users+unsubscr...@it.libreoffice.org
Problemi? https://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
Linee guida per postare + altro: 
https://wiki.documentfoundation.org/Local_Mailing_Lists/it
Archivio della lista: https://listarchives.libreoffice.org/it/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Rispondere a