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_marcolongo@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+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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.