Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Se Windows genera un errore, hai un problema di virus o vuoi discutere/segnalare l'uscita della nuova versione di un software per la piattaforma Microsoft, questa è la sezione giusta.
Regole del forum
Rispondi
Avatar utente
Zane
Fondatore
Fondatore
Messaggi: 5466
Iscritto il: mer mag 01, 2013 11:20 am
Contatta:

Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da Zane »

Ciao ragazzi,
mi hanno segnalato un problema con il foglio di calcolo che ho presentato in questo articolo. In breve:
  • nel foglio di calcolo c'è una cella numerica
  • nella quale bisogna incollare un numero decimale copiato da un sito
  • Questo numero decimale è espresso con il punto (1.49)
  • Calc/Excel utilizzano il locale italiano e si aspettano i decimali separati da virgola (1,49)
  • quando incolli il valore con il punto, si imbananano e non lo riconoscono
Ho già provato a forzare il formato della specifica cella:

Immagine

Così funziona, ma se chiudi il file e lo riapri si perde il settaggio.

Sapete se c'è un modo per forzare il locale sullo specifico foglio o, in generale, come gestire la cosa?

Vorrei TANTO evitare le macro, se possibile.

Sono su Windows 10 x64 e ho già provato ad aggiornare a LibreOffice 5.4.4 x64.

Aggiornamento: grazie a chi mi ha risposto consigliando di modificare l'impostazione regionale del sistema operativo oppure del programma. Il problema è però che questo foglio di calcolo è disponibile a pubblicamente, e non posso chiedere che le persone interessate ad usarlo modifichino questa impostazione sui propri PC. Bisogna che troviamo un modo specifico e salvato all'interno del file per forzare l'uso del formato.
Zane - TurboLab.it
System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da System » mer gen 03, 2018 1:05 am


Avatar utente
raffaele32
Livello: microSD (7/15)
Livello: microSD (7/15)
Messaggi: 357
Iscritto il: sab mag 04, 2013 5:42 pm
Località: Salerno (provincia)

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da raffaele32 »

Ciao Zane , hai controllato se nelle impostazioni della lingua e del separatore decimale di Windows 10 viene usato la virgola al posto del punto?
Avatar utente
crazy.cat
Amministratore
Amministratore
Messaggi: 12448
Iscritto il: mer mag 01, 2013 4:02 pm
Località: Noventa Padovana
Contatta:

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da crazy.cat »

Non ho calc a disposizione e non lo conosco così bene da fare prove.
Una sostituzione del testo è fattibile?
https://help.libreoffice.org/Calc/Text_ ... OSTITUISCI
Inseriscono il punto =SUBSTITUTE(A1;".";",") e questo diventa una virgola...
https://ask.libreoffice.org/en/question ... ain-cells/
“Se tutti i documenti raccontavano la stessa favola, ecco che la menzogna diventava un fatto storico, quindi vera.”
Avatar utente
PippoDJ
Livello: Storage Area Network (12/15)
Livello: Storage Area Network (12/15)
Messaggi: 1678
Iscritto il: sab nov 01, 2014 3:50 pm

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da PippoDJ »

Ciao Zane,
non credo esista un modo semplice/elegante per fare quello che ti serve: in Excel le impostazioni dei separatori sono locali all'ambiente di lavoro e non vengono salvate col documento.

Probabilmente la cosa migliore sarebbe di forzare un cambio dei separatori all'apertura del documento con questo codice VBA:

Codice: Seleziona tutto

Private Sub Workbook_Open()
	Application.DecimalSeparator = "."
	Application.ThousandsSeparator = ","
	Application.UseSystemSeparators = False
End Sub
In questo modo l'intero documento userebbe il "." come separatore decimale e tutti i problemi sarebbero risolti (non solo per il copia/incolla "nel" foglio, ma anche per il copia/incolla "dal" foglio).
Poi, per buona educazione, è il caso di risistemare tutto prima della chiusura del documento:

Codice: Seleziona tutto

Private Sub Workbook_BeforeClose(Cancel As Boolean)
	Application.UseSystemSeparators = True
End Sub
Tuttavia sono d'accordo con te:
Zane ha scritto:Vorrei TANTO evitare le macro, se possibile.
l'attivazione delle macro potrebbe dare agli utenti la falsa sensazione che il tuo documento faccia cose "nascoste" a loro insaputa.

Come "second best" credo che la migliore alternativa sia di:
  • impostare le due caselle di input come testo generico (in questo modo Excel non si prenderà il disturbo di convertirle in numero prendendo delle cantonate),
  • definire due nomi (ad es. "capitale" e "prezzo") che si occupino di sostituire la "," al "." solo se necessario e di usarli nei calcoli successivi al posto dei riferimenti diretti alle celle.
Ad esempio:

Codice: Seleziona tutto

capitale = SE(SE.ERRORE(TROVA(".";'Dip buy'!$E$16);FALSO);NUMERO.VALORE('Dip buy'!$E$16;".";",");VALORE('Dip buy'!$E$16))
prezzo = SE(SE.ERRORE(TROVA(".";'Dip buy'!$E$17);FALSO);NUMERO.VALORE('Dip buy'!$E$17;".";",");VALORE('Dip buy'!$E$17))
In questo modo, indipendentemente dal separatore decimale inserito nelle caselle di input, nei nomi "capitale" e "prezzo" avrai un valore numerico correttamente separato da ",".

Questo metodo, rispetto al precedente, ha diverse falle:
  • rimane il problema di copiare/incollare i numeri separati da "," dal foglio al sito web che si aspetta "." come separatore,
  • può funzionare solo se il documento viene usato in Italia (o negli altri paesi che usano la virgola come separatore decimale),
  • funziona solo per valori < 1000 (se entra in gioco anche il separatore delle migliaia, le formule consigliate ovviamente non funzionano più).
Ciao, Pippo.

N.B.: Dimenticavo... quanto detto (entrambi i metodi) vale per Excel! Il secondo potrebbe funzionare anche in Calc (ma non l'ho provato), il primo sicuramente no.
Avatar utente
Zane
Fondatore
Fondatore
Messaggi: 5466
Iscritto il: mer mag 01, 2013 11:20 am
Contatta:

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da Zane »

Grazie di cuore ragazzi!

Ho seguito il vostro suggerimento di lasciare il campo di input come testo, fare la sostituzione in una cella di lavoro, svolgere i calcoli su quelle e riconvertire i numeri prima di mostrarli all'utente.

Come diceva PippoDJ rimane la sfiga che funziona solo se l'utente ha impostato il programma nel formato italiano classico ("virgola" come separatore di decimali), ma per il nostro pubblico di riferimento dovrebbe essere OK così.

Se volete provare il foglio aggiornato e darmi un feedback, vi ascolto molto volentieri.
Zane - TurboLab.it
Avatar utente
PippoDJ
Livello: Storage Area Network (12/15)
Livello: Storage Area Network (12/15)
Messaggi: 1678
Iscritto il: sab nov 01, 2014 3:50 pm

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da PippoDJ »

Ciao Zane,
Zane ha scritto:Se volete provare il foglio aggiornato e darmi un feedback, vi ascolto molto volentieri.
funziona bene in Excel 2013, ma dà problemi in OpenOffice Calc 4.1.1 e 3.3.0.
In OpenOffice Calc è necessario convertire esplicitamente da "testo" a "numero" anche se la cella ha formato numerico.
Dovresti risolvere sostituendo

Codice: Seleziona tutto

=SOSTITUISCI(E16;".";",")
con

Codice: Seleziona tutto

=VALORE(SOSTITUISCI(E16;".";","))
solo nelle celle "Valori convertiti" (nelle celle di output, formattate come testo, va già bene così).

Ciao, Pippo.
Avatar utente
Zane
Fondatore
Fondatore
Messaggi: 5466
Iscritto il: mer mag 01, 2013 11:20 am
Contatta:

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da Zane »

Grazie di nuovo PippoDJ! Io ho LibreOffice 5.4.4.2 e con questa versione mi funzionava OK. Ho comunque modificato come da tuo suggerimento, così lo rendiamo compatibile anche con le vecchie versioni. Mi fai un ultimo check per favore?
Zane - TurboLab.it
Avatar utente
PippoDJ
Livello: Storage Area Network (12/15)
Livello: Storage Area Network (12/15)
Messaggi: 1678
Iscritto il: sab nov 01, 2014 3:50 pm

Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da PippoDJ »

Zane ha scritto:Mi fai un ultimo check per favore?
Mi sembra :approvo
System
System
Bot ufficiale TurboLab.it
Bot
Messaggi:
Iscritto il: sab dic 31, 2016 6:19 pm
Contatta: Contatta

Re: Re: Excel/Calc: incollare numeri decimali con il punto in celle decimali con virgola

Messaggio da System » dom gen 07, 2018 12:00 pm


Rispondi
  • Argomenti simili
    Risposte
    Visite
    Ultimo messaggio