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://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