Formula generica
=MAX(ISNUMBER(VALUE(MID(A1,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1
Sommario
Per dividere un numero da un valore unitario, puoi utilizzare una formula basata su diverse funzioni: MAX, ISNUMBER, VALUE e MID. Nell'esempio mostrato, la formula in C5 è:
=MAX(ISNUMBER(VALUE(MID(B5,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1
Nota: questa è una formula sperimentale che utilizza una costante di matrice hardcoded, impostata qui per riferimento e commento. Testato solo casualmente, quindi fai attenzione se lo usi o ti adatti.
Spiegazione
A volte si incontrano dati che mescolano unità direttamente con numeri (ad esempio 8 km, 12 V, 7,5 ore). Sfortunatamente, Excel tratterà i numeri in questo formato come testo e non sarai in grado di eseguire operazioni matematiche su tali valori.
Per dividere un numero da un valore unitario, è necessario determinare la posizione dell'ultimo numero. Se aggiungi 1 a quella posizione, hai l'inizio del testo unitario. Questa formula utilizza questo concetto per capire dove inizia l'unità di misura.
Nell'esempio mostrato, la formula in C5 è:
=MAX(ISNUMBER(VALUE(MID(B5,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1
Questa formula utilizza la funzione MID per estrarre i primi 9 valori in B5, un carattere alla volta. Il risultato è un array come questo:
("8","0","v","","","","","","")
Quindi utilizziamo la funzione VALORE per convertire i numeri in formato testo in numeri effettivi. Il risultato è:
(8,0,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!)
Eseguiamo questo array tramite ISNUMBER per ottenere:
(TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)
Quindi moltiplicalo per un altro array con 9 numeri per ottenere:
(1,2,0,0,0,0,0,0,0)
Quindi usiamo MAX per ottenere il valore più grande, che è la posizione dell '"ultimo numero".
Infine, aggiungiamo 1 alla posizione per ottenere la posizione di "inizio unità".
Infine, usiamo questa posizione con le funzioni LEFT e RIGHT standard per separare i numeri dalle unità:
=VALUE(LEFT(B5,C5-1)) // number =TRIM(RIGHT(B5,LEN(B5)-C5+1)) // unit
Si noti che la costante di matrice di numeri hardcoded è un trucco per comodità e gestirà solo valori grezzi fino a 9 caratteri di lunghezza.