Excel: come separare parti del testo in una cella in una cella diversa


3

Gestisco una cartella di lavoro in cui aggiungiamo continuamente righe mentre i prodotti sono programmati. Lo scheduler vorrebbe iniziare a utilizzare uno scanner di codici a barre per inserire alcuni dati, per ridurre gli errori di trascrizione. Il codice a barre esistente immette i dati come questi esempi di seguito.

D00030827001-800649.3

D00030850013: 20-800.649,3

D00030850001: 2-800.649,4

I primi 9 caratteri sono il numero del progetto (D00030850). I prossimi tre caratteri sono il primo numero di campione (013). Se c'è un intervallo di campioni, ci saranno due punti e l'ultimo campione nell'intervallo (20). Dopo il trattino è il numero del prodotto (800649.3). Sto cercando di dividerlo in due colonne, una per il numero di progetto / campione e una per il numero di prodotto, che sarebbe simile a questa:

D30827-1 800649.3

D30850-13: 20 800649.3

D30850-1: 2 800649.4

So come ottenere il numero del prodotto nella sua colonna (= MID (A1, FIND ("-", A1) + 1, LEN (A1)).) Sto cercando di capire come ottenere il numero del progetto / campione ( s) nella prima colonna e formattato come mostrato sopra. Essenzialmente, ho bisogno del primo carattere, salta i successivi tre 0, quindi i successivi 5 numeri, poi un "-", quindi le cifre significative prima del trattino o dei due punti. Se c'è un colon, ho bisogno dei due punti e delle cifre dopo il colon. Qualsiasi aiuto sarebbe apprezzato!

Risposte:


0

Sono stato in grado di farlo in un processo in 2 fasi.

1) =IFERROR((MID(A1,FIND(":",A1)-2,FIND("-",A1)-FIND(":",A1)+2)),MID(A1,FIND("-",A1)-2,2)) restituisce il prodotto e il numero di campione (se applicabile).

2) Analizza gli zeri dei risultati del passaggio 1 =IF(LEFT(B1,1)="0", MID(B1,FIND("0",B1)+1,LEN(B1)),B1) .


Ho pensato anche a questo, ma dal momento che aggiungono continuamente righe al foglio di calcolo, devono eseguire questa funzione ogni volta che aggiungono dati. Immagino di poter scrivere una macro per eseguire questa funzione ogni volta che aggiungono file o salvano il foglio di calcolo, stavo solo sperando in una formula che potrei copiare su una delle colonne in modo che non vengano eseguiti ulteriori passaggi dopo aver aggiunto una riga.
MNchica99

Questa domanda sarà d'aiuto? superuser.com/questions/483419/...
JoeJam

Ho letto quella domanda un paio di volte cercando di applicarla alla mia situazione, e non la vedo. Il problema per me è il fatto che potrebbe esserci o meno un colon che designa più campioni. E se ci sono più campioni, ho bisogno di visualizzare l'intervallo. Ho provato a scrivere una formula che guarderebbe al
MNchica99

Guarda cosa?
JoeJam

Spiacenti, premi invio troppo presto. Sono stato in grado di scrivere una formula lunga e sgradevole che mi dà la maggior parte del modo in cui ci sono, il mio problema più grande è cercare di estrarre ciò che è il primo numero nell'intervallo. Poiché la parte del numero campione della stringa è sempre un numero a tre cifre, contando fino a 001, potrei semplicemente voler visualizzare "1", ma se inizia a doppia cifra, 011, devo visualizzare "11" .
MNchica99
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.