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