Excel: come rimuovere i personaggi principali di una stringa con una funzione?


2

Ho una colonna di testo in Excel piena di valori esadecimali come questo:

0000000000000c10
00000000000036f0
00000000000274da
00000000000379e0

Quale funzione può aiutarmi a rimuovere gli 0 iniziali fino al primo carattere non 0? Output desiderato:

c10
36f0
274da
379e0

Questo mi aiuterebbe ad alimentare la funzione HEX2DEC.

Risposte:


3

Un altro approccio sarebbe quello di convertire in decimale quindi di nuovo indietro. Il HEX2DEC la funzione del foglio di lavoro accetterà solo 10 cifre / caratteri come input ma RIGHT si prenderà cura di questo. Conversione istantanea con DEC2HEX (lasciando l'opzionale [posti] parametro fuori dall'equazione) dovrebbe risultare in un valore HEX troncato.

HEX to DEC to HEX

La formula in B1 è,

=DEC2HEX(HEX2DEC(RIGHT(A1,10)))

Riempi verso il basso se necessario. Il DEC2HEX la funzione può compensare gli zeri iniziali fino a 10 posizioni, ma se è necessario riportare gli zeri iniziali per un massimo di segnaposti di 16 cifre,

=RIGHT(REPT(0, 16)&B1, 16)


3

Ok, trovato.

Supponendo che i valori siano in una tabella e la sua colonna si chiami "Column1":

=REPLACE([@Column1],1,FIND(LEFT(SUBSTITUTE([@Column1],"0","")),[@Column1])-1,"")

Questo produrrà l'output desiderato come mostrato nella domanda.

Il nucleo della soluzione è gestito da questa formula, che conta gli 0 prima del valore di testo che stiamo cercando.

=FIND(LEFT(SUBSTITUTE([@Column1],"0","")),[@Column1])-1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.