Excel Forum Per condividere esperienze su Microsoft Excel

trasformare righe in colonne e modificare i valori

  • Messaggi
  • OFFLINE
    giu95se
    Post: 37
    Registrato il: 03/11/2020
    Età: 28
    Utente Junior
    excel 2020
    00 05/01/2021 11:53
    trasformare righe in colonne e modificare i valori
    Salve a tutti, ho questo file con le coordinate geografiche che vorrei ridisporre su due colonne differenti, una per le latitudini e una per le longitudini. Inoltre, i valori non hanno la virgola ma solo dei punti che excel non legge, come posso inserire la virgola? In particolare la virgola dovrebbe essere inserita dopo il secondo valore numerico di ogni cella; per esempio:
    - lat = 4.136.107
    -lon = 1.404.318
    devono diventare
    - lat = 41,36107
    -lon = 14,04318
    Qualcuno mi sa aiutare?
  • OFFLINE
    federico460
    Post: 2.084
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 05/01/2021 12:12
    ciao
    se devi usare le stesse celle ci vuole il vba

    se si possono usare altre celle
    puoi usare sinistra()&","&

    oppure dividere per 100000

    con vba

    metti questa su un modulo

    Sub virgola()
    Dim MyRng As Range
    Dim Cella As Range

    Set MyRng = Selection
    MyRng.NumberFormat = "0.00000"
    For Each Cella In MyRng
    If IsNumeric(Cella.Value) And Cella.Value <> "" Then
    Cella.Value = Cella.Value / 100000
    End If
    Next Cella

    Set MyRng = Nothing
    End Sub



    seleziona le celle che devi variare
    e lancia la macro
    [Modificato da federico460 05/01/2021 12:19]
  • OFFLINE
    by sal
    Post: 6.213
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 05/01/2021 15:59
    Ciao Giuseppe, premesso che le tue coordinate che vedi con i punti sono frutto di una formattazione personalizzata.
    quindi i punti sono solo visivi, ma il numero è intero

    a questo punto si tratta solo di inserire la virgola dopo i primi 2 numeri.

    sicuro che non ci siano coordinate che abbiano 1 solo decimale esempio 4,12547 altrimenti lo segnerà come 41,2547.

    ecco il file, ho dovuto giocare un poco sul formato

    comunque prende tutto dal foglio1 e lo trasferisce in verticale nel foglio2 e inserisce la virgola.

    il foglio2 ogni volta vengono cancellati i dati precedenti

    ti ho messo un icona sul foglio1 cliccaci sopra ed avrai il risultato.

    Ciao By Sal (8-D

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    giu95se
    Post: 37
    Registrato il: 03/11/2020
    Età: 28
    Utente Junior
    excel 2020
    00 05/01/2021 16:16
    Vi ringrazio per le vostre risposte, sono riuscito a risolvere il problema relativo alle coordinate. Ora ho un altro problema che non sto riuscendo a risolvere, in pratica ho tentato di utilizzare la formula =sinistra()&"," nel mio file ma mi cancella i valori dietro la virgola e sembra leggere i numeri come se fossero testo. Come posso fare?
  • OFFLINE
    by sal
    Post: 6.216
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 05/01/2021 19:13
    Ciao la formula dovrebbe essere

    =SINISTRA(C2;1)&","&DESTRA(C2;2)

    ti sei dimenticato di inserire i caratteri da considerare, e comunque è un testo non un numero.

    Ciao By sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    federico460
    Post: 2.088
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 05/01/2021 19:34
    ciao
    un paio di esempi conforme i numeri scritti

    in D2
    da tirare in giù
    =SINISTRA(SOSTITUISCI(C2;".";"");2)&","&DESTRA(SOSTITUISCI(C2;".";"");LUNGHEZZA(SOSTITUISCI(C2;".";""))-2)*1

    in F2 da tirare in giù

    =SINISTRA(SOSTITUISCI(E2;".";"");2)&","&DESTRA(SOSTITUISCI(E2;".";"");LUNGHEZZA(SOSTITUISCI(E2;".";""))-2)*1


    quel *1 ti trasforma il testo in numero

    Perchè usare LUNGHEZZA()
    perchè non conoscendo il numero di caratteri
    così li sfrutto tutti
    [Modificato da federico460 05/01/2021 19:42]