Excel〜文字列操作

文字列操作1

・ 文字列から必要な文字を取り出します。

IF(論理式,真の場合,偽の場合)
論理式の条件が満たされる場合は真の内容を選び満たされない場合は偽の内容を選ぶ。
MID(文字列,開始位置,文字数)
文字列内の指定した位置から文字数で指定した数の文字を取り出す。
LEFT(文字列,文字数)
文字列の左端から、文字数で指定した数の文字を取り出す。

 WebクエリやPDFからExcelにデータを取込んだ場合、1つのセルに不必要な文字が入っていることが多いです。 図4-6はWebクエリをつかいYahoo!ファイナンスからデータを取得したところですが名称のセルにダウン、アップ等の余分な文字が含まれています。

(図5-1

 このままでは整理しにくいので関数を使い余分な文字を除去します。 余分な文字は【アップ】、【ダウン】、【変わらず】の3種類。 【変わらず】なら4文字、それ以外なら3文字取除くと銘柄名となるので、IF関数をつかい二通りにわけ条件に応じてMID関数を使い必要な文字を取り出します。
S2セルは【=IF(LEFT(B2,4)="変わらず",MID(B2,5,99),MID(B2,4,99))】とします。 これを下のセルにコピーすれば一気に銘柄名が取り出せます。

(図5-2
Excelに戻る


文字列操作2

・ 文字列から必要な文字を取り出し数値に変換します。

VALUE(文字列)
文字列を数値に変換する。
LEFT(文字列,文字数)
文字列の左端から、文字数で指定した数の文字を取り出す。
RIGHT(文字列,文字数)
文字列の右端から、文字数で指定した数の文字を取り出す。
FIND(検索文字列,対象,開始位置)
文字列の右端から、文字数で指定した数の文字を取り出す。
IF(論理式,真の場合,偽の場合)
対象の文字列内で検索文字列を探し先頭から何文字目かを調べる。開始位置(省略可)を指定するとそれ以降の文字列から検索する。

 図5-3は→ 株価データダウンロードサイトから先物データを取得したところです。

(図5-3

 日付が文字列になっているためVLOOKUP等で整理するには不便なので数値データに変換します。
まず余分な前場と後場の文字を取り除きます。これにはFIND関数を使い【日】までの文字数を数えLEFT関数でその文字数を取り出します。このままでは2009年03月06日という文字列になっているのでVALUE関数を使い数値データに変換します。
セルの書式設定が標準だと39878と表示されますが、ここではセルの書式設定の日付で設定していますのでH21.3.6と表示されています。

(図5-4

 ただこれだと前場、後場とも同じ日付データになるのでVLOOKUP関数では最初のデータしか検索できません。 これを解消するために後場の場合は0.5をくわえます。検索する場合、前場は日付そのまま、後場は0.5をくわえた値で検索するとそれぞれの値が表示されます。
セルA3は【=VALUE(LEFT(B3,FIND("日",B3)))+IF(RIGHT(B3,2)="後場",0.5,0)】となりこれを下のセルにコピーすれば完了です。

(図5-5 

Excelに戻る