In effetti François-Marie nel suo intervento mi ha fatto scattare la lampadina delle opzioni e un lontano ricordo di una impostazione di calc 'tratta le stringhe come zero'. Da qui il passo è stato breve per verificare che l'apparente anomalia in realtà non lo era. Sono d'accordo con Carlo Magistrelli sulla sua piccola polemica che in effetti è pertinente. La ricerca 'evidenzia valori' non è risolutiva e comunque una perdita di tempo verificare se è un numero o un testo. Nel dettaglio controllare centinaia o molte di più celle alla ricerca di dati non pertinenti non è mai agevole soprattutto in fogli complessi. Gian Paolo Marcolongo Il 22/11/21 10:06, Alberto Benedetto ha scritto:
Veramente interessante! A questo punto capisco perché hanno chiuso il presunto bug con "not a bug", e sono pienamente d'accordo. Magari un piccolo riferimento alla possibilità offerta nelle 1000 opzioni ci avrebbe fatto capire prima il comportamento apparentemente particolare. Grazie ancora a tutti per la fruttuosa discussione su questo argomento di "base" e soprattutto a François-Marie che ha probabilmente dato lo spunto risolutivo. Alberto Da: "Carlo Magistrelli" <carlo@magistrelli.it> A: "gianpaolo_marcolongo" <gianpaolo_marcolongo@newwhitebear.net> Cc: "Alberto Benedetto" <alberto.benedetto@arpa.piemonte.it>, "libreoffice users" <users@it.libreoffice.org> Inviato: Domenica, 21 novembre 2021 17:00:52 Oggetto: Re: [it-users] Addizione e somma Grazie. Opzione molto interessante; soprattutto nella versione che restituisce #VALORE!. Purtroppo, in questo caso si ripresenta l'incoerenza tra funzione somma e addizione; l'addizione riporta (correttamente) il messaggio di errore (somma di capra e cavoli!) mentre la funzione somma salta "bellamente" il valore incongruo (IMHO l'opzione selezionata dovrebbe valere anche per la funzione). Piccola polemica: nella guida online, a commento della funzione somma si legge: "Questa funzione ignora qualsiasi testo o cella vuota all'interno di un intervallo di dati. Se pensate che vi vengano restituiti dei risultati sbagliati da questa funzione, cercate il testo all'interno dell'intervallo. Per evidenziare del testo all'interno di un intervallo di dati usate la funzionalità Evidenzia valori." Non sarà mica compito dell'utente pensare che il risultato sia sbagliato! Dovrebbe essere ben il programma a segnalare le incoerenze evidenti! Ciao Il giorno sab 20 nov 2021 alle ore 17:40 gianpaolo_marcolongo < [ mailto:gianpaolo_marcolongo@newwhitebear.net | gianpaolo_marcolongo@newwhitebear.net ] > ha scritto: 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" < [ mailto:gianpaolo_marcolongo@newwhitebear.net | gianpaolo_marcolongo@newwhitebear.net ] > *A: *"libreoffice users" < [ mailto:users@it.libreoffice.org | 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 ( [ https://urlsand.esvalabs.com/?u=http%3A%2F%2Ftiscali.it&e=6698ed98&h=5106e22f&f=y&p=n | 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" < [ mailto:gianpaolo_marcolongo@newwhitebear.net | gianpaolo_marcolongo@newwhitebear.net ] > A: "libreoffice users" < [ mailto:users@it.libreoffice.org | 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 precedutoda '.Se faccio =a1+a2+a3 viene sommato anche a2, come Magistrelli hascritto.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 lacorrezioneil 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 bugmeritevoledi 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 [ mailto:users%2Bunsubscribe@it.libreoffice.org | users+unsubscribe@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 | 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 | 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 | 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 | 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+unsubscribe@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