「StiLL」 デザイン情報188 StiLLコマンド--数字16桁以上のテキストデータを読み込む | ||||||||||||||||||||||||||
【テーマ】テキストデータを読み込むとき16桁以上の数字のみで構成された項目が数値と判断されExcelの有効桁数15桁での表示となり困ったことはありませんか?今回このデータを文字列として取得する考え方をご紹介します。 | 【方法】Excelで文字列を識別するシングルクォーテーションをSUBSTITUTE関数を使って挿入します。この処理を 「Excelデータ抽出(BtRecordQuery)」StiLLボタンで実装します。 | 【参考】数字のみで構成される項目が複数ある場合はSUBSTITUTE関数を重ねて使用します。 | ||||||||||||||||||||||||
対応Ver. :StiLL-XV1.0
以降 対応種類:StiLL Dev・Pro |
対応Ver. :StiLL-XV1.0
以降 対応種類:StiLL Dev・Pro |
対応Ver. :StiLL-XV1.0
以降 対応種類:StiLL Dev・Pro |
||||||||||||||||||||||||
■ 今回の内容 | ||||||||||||||||||||||||||
以下のようなテキストデータ 「Test.csv(カンマ区切り)」 を 「CSVデータ取得(BtTextRead)」 セルリンクボタン(または「StiLLボタン」) | ||||||||||||||||||||||||||
で読み込むと数字で構成された項目4(赤枠)の内容が右図のように指数で表示されてしまいます。 | ||||||||||||||||||||||||||
![]() |
![]() |
|||||||||||||||||||||||||
これは数字だけの項目をExcelが数値と判断してExcelの有効桁数である15桁に編集するためです。 | ||||||||||||||||||||||||||
今回はこの数字のみで構成されたテキストデータを下図のように文字列として取り出すための方法をご紹介します。 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
(文字列への加工) | ||||||||||||||||||||||||||
Excelで項目内容を文字列として明示する場合は先頭にシングルクォーテーション(')を入力します。 | ||||||||||||||||||||||||||
従ってテキストデータを自分で作成する場合は、項目4の先頭にシングルクォーテーションを付与して作成することで文字列として | ||||||||||||||||||||||||||
取り出せるようになります。 | ||||||||||||||||||||||||||
例)'12345678901234567890 | ||||||||||||||||||||||||||
自分でテキストデータを作成していない場合は上記の加工を一度読込んだテキストデータに施して変換する方法があります。 | ||||||||||||||||||||||||||
以降にその手順を示します。 | ||||||||||||||||||||||||||
■ 加工手順とボタンの説明 | ||||||||||||||||||||||||||
1)加工前のテキストデータの読み込み | ||||||||||||||||||||||||||
初めに加工する元のテキストデータを読み込みます。 | ||||||||||||||||||||||||||
下図のように冒頭に表示したテキストデータ(Test.csv)を 「CSVデータ取得(BtTextRead)」 StiLLボタンで読み込みます。 | ||||||||||||||||||||||||||
ここで図のようにテキスト区切り文字で 「TAB」 を選択します。(赤丸) | ||||||||||||||||||||||||||
※ 「カンマ区切り」 のテキストデータは 「TAB」 を選択することでカンマを含めた1行分の全データが1つのセルに取り込まれます。 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
(図@) | ||||||||||||||||||||||||||
例)取り込み結果 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
2)シングルクォーテーションの加工処理 | ||||||||||||||||||||||||||
読込んだデータの数字のみで構成されている項目4の先頭にシングルクォーテーションを付与します。 | ||||||||||||||||||||||||||
具体的には上図A列の3番目のカンマの次にシングルクォーテーションを挿入します。 | ||||||||||||||||||||||||||
データの加工にはSUBSTITUTE関数を使います。 | ||||||||||||||||||||||||||
下図のセルB2に次の式を入力します。 =SUBSTITUTE(A2,",",",'",3) | ||||||||||||||||||||||||||
この式の意味はセルA2の3番目のカンマのみをカンマとシングルクォーテーションの並びに置き換えるものです。 | ||||||||||||||||||||||||||
この結果、セルB2のように3番目のカンマの次にシングルクォーテーションが挿入されます。 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
この変換処理を 「Excelデータ抽出(BtRecordQuery)」 StiLLボタンに設定します。 | ||||||||||||||||||||||||||
![]() |
(図A) | |||||||||||||||||||||||||
←元データ範囲と同じ位置を指定しています。 | ||||||||||||||||||||||||||
項目式の設定で下図のように元データの項目を2行設定します。・・・赤枠 | ||||||||||||||||||||||||||
また該当無をチェックします。・・・緑枠 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
OKボタンで設定後、項目式範囲のセルF3に上記と同じ式:'==SUBSTITUTE(A2,",",",'",3) を入力します。 | ||||||||||||||||||||||||||
(入力後のイメージ) | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
式を入力後に上記図Aのボタンを実行すると下図B列の項目4にシングルクォーテーションがセットされます。 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
3)加工したテキストデータの書き込み処理 | ||||||||||||||||||||||||||
加工したデータ(上図のB列)を 「CSVデータ更新(BtTextWrite)」 セルリンクボタンを使って保存します。 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
(図B) | ||||||||||||||||||||||||||
←加工後のデータファイル名を変更しています。 | ||||||||||||||||||||||||||
4)加工後のテキストデータの読み込み処理(項目4を文字列で取得) | ||||||||||||||||||||||||||
上で保存したファイル(Test2.csv)を 「CSVデータ取得(BtTextRead)」 StiLLボタンで読み込みます。 | ||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||
←ここではカンマを選択します。 | ||||||||||||||||||||||||||
例)読み込み結果 | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
以上の手順で項目4を文字列として読み込むことができます。 | ||||||||||||||||||||||||||
上記の図@から図Bのボタンを 「ボタン連続実行(BtPush)」 にリストすることでシステムに組み込むことができ変換処理を自動化できます。 | ||||||||||||||||||||||||||
■ ご参考までに | ||||||||||||||||||||||||||
1.数字のみで構成される項目が複数ある場合は次のようにSUBSTITUTE関数を重ねて使用します。 | ||||||||||||||||||||||||||
例)4項目と5項目目を文字列とする場合の式 | ||||||||||||||||||||||||||
=SUBSTITUTE(SUBSTITUTE(A2,",",",'",3),",",",'",4) | ||||||||||||||||||||||||||
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください) | ||||||||||||||||||||||||||
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます | ||||||||||||||||||||||||||