Excelデータのセルを分割

1つのセルに情報がまとまってしまっているExcelのデータを分割して、システム入力に活用したいです。不要な部分は自分であとで削除するとして、半角スペースごとにセルを分割するにはどうしたらいいのでしょうか?
初心者ですので、わかりやすく教えていただけますでしょうか。
よろしくお願いいたします。

image

私だったら、
1)シート全体の、範囲を読み込む(ヘッダー追加はチェックオフ。列数は1ですね)
2)分割する最大列数まで、データ列を追加する(列名は適当)
3)行の繰り返して、row.item(0).toString.Split(" "c)で分割し、その結果はString型の配列(変数タブで、ArrayでStringを指定して定義)に、代入する
4)その行の繰り返しの中で、各コレクションの繰り返し(現在のインデックス:ix)を使って、
データテーブル.item(ix) ← String型の配列(ix)
とします。
5)すべての配列、全ての行の繰り返しが終了したら、データテーブルを、範囲へ書き込みます(ヘッダーはチェックオフ)。

※オリジナルデータは上書きしてしまいます。

String型配列の作り方
1)Array Of [T]を指定し、
image
2)Stringを選択し、OK!
image
3)変数タブにString[]となっている事を確認([]が配列の意味です)
image

こんにちは

空白での分割はSplitメソッドを使えばできますが、最終的にどのようなデータの単位で
入力をしたいかを共有いただく方が、より適切なコメントを入手しやすいと思います。

たとえば上記の場合
0108 2-3 5PL といった内容が一つのかたまりに見えますので
これを抽出するのであれば、一致する文字列を取得アクティビティで
\d{4}\s\d-\d\s\d+[A-Z]+
のようなパターンで取得可能です。

こんにちは。
前回質問した際にもアドバイスいただき、ありがとうございました。
最終的に取得したいデータは下記のような数字です。
ちなみに質問に載せている1つのセルに入ってる数字の
0108.2-3 5PLは、0108の後ろが半角スペースではなく、ドットになります。
お時間のある時にアドバイスいただければ幸いです。どうぞよろしくお願いいたします。

image

こんにちは

取り急ぎ以下正規表現を使ったサンプルです。パターンは実際のルールに基づき見直したほうが良いかもしれません。

mc = System.Text.RegularExpressions.Regex.Matches(row("ロット").ToString(),"(\d{4})\.\d-\d\s(\d+)PL")

Sample20220219-1.zip (7.5 KB)

お返事が遅くなり、申し訳ありませんでした。
途中までは教えていただいた事はわかったのですが、初心者なので4)からわからなくなりました。
もうお1人の方がサンプルを添付してくださったので、そちらでやってみようと思います。
お忙しい中ご回答いただき、ありがとうございました。

1 Like

なかなか作業する時間が作れず、お返事が遅くなり申し訳ありませんでした。
サンプルを添付してくださったおかげで、なんとかできました。
お忙しい中、ご回答いただきありがとうございました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.