Excel - セル内のテキストの一部を別のセルに分割する方法


3

私は、製品がスケジュールされているときに継続的に行を追加するワークブックを管理しています。スケジューラは、転記エラーを減らすために、バーコードスキャナを使用してデータの一部を入力したいと考えています。既存のバーコードは、以下の例のようになるデータを入力します。

D00030827001-800649.3

D00030850013:20-800649.3

D00030850001:2-800649.4

最初の9文字はプロジェクト番号(D00030850)です。次の3文字は最初のサンプル番号(013)です。サンプルの範囲がある場合は、コロンと最後のサンプルが範囲(20)に入ります。ダッシュの後は製品番号(800649.3)です。これをプロジェクト/サンプル番号用と製品番号用の2つの列に分けてみます。

D30827-1 800649.3

D30850-13:20 800649.3

D30850-1:2 800649.4

製品番号をそれ自身の列に入れる方法を知っています(= MID(A1、FIND( " - "、A1)+ 1、LEN(A1)))。 s)最初の列にあり、上に表示されているとおりにフォーマットされています。基本的に、最初の文字、次の3つの0、次に5つの数字、「 - 」、ダッシュまたはコロンの前の有効数字が必要です。コロンがある場合は、コロンとコロンの後の数字が必要です。任意の助けは大歓迎です!

回答:


0

私は2段階のプロセスでそれをすることができました。

1) =IFERROR((MID(A1,FIND(":",A1)-2,FIND("-",A1)-FIND(":",A1)+2)),MID(A1,FIND("-",A1)-2,2)) 製品とサンプル番号を返します(該当する場合)。

2)ステップ1の結果からゼロを解析する =IF(LEFT(B1,1)="0", MID(B1,FIND("0",B1)+1,LEN(B1)),B1)


私もこれについて考えました、しかし、彼らは絶えずスプレッドシートに行を追加しているので、彼らはデータを追加するたびにこの機能を実行する必要があるでしょう。行を追加したりスプレッドシートを保存したりするたびにこの機能を実行するマクロを書くことができたと思います。
MNchica99

この質問は役立ちますか? superuser.com/questions/483419/…
JoeJam

私はその質問を私の状況に当てはめようと何度か読みましたが、私はそれを見ていません。私にとっての問題は、複数のサンプルを指定するコロンがある場合とない場合があるという事実です。複数のサンプルがある場合は、範囲を表示する必要があります。私は見てだろう式を書いてみました
MNchica99

何を見て?
JoeJam

すみません、すぐにエンターを押してください。私はそこにほとんどの道を私を取得する長い厄介な式を書くことができた、私の最大の問題は範囲の最初の数が何であるかを抽出しようとしています。文字列のサンプル番号部分は常に001から数えて3桁の数字なので、私はただ "1"を表示したいかもしれませんが、それが2桁の011で始まっているなら、私は "11"を表示する必要があります。
MNchica99
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.