2011年11月14日月曜日

step3.5 これだけは押さえておきたい文字列操作の3パターン

どんな関数を調べていくと一見、絶対使わないような関数が出てきます。
普段エクセルで表計算とかしている分だとほとんど使わないのがおそらく文字列操作に関連するものでしょう。
半角文字を全角に変換する関数とかもあります。
多分、一生使わない人が大半でしょう笑
(↑笑っておきながら、最近使いました。。。どんだけ人がやらないことやらされてるんだ orz)


今回は、目標であるプログラムを作成するにあたって絶対必要なものを3パターン計8個ピックアップします。





NTTフレッツ光






NTTフレッツ光





1.大文字、小文字に変換
相手のメールアドレスは本当に全部小文字ですか?
最初の一文字だけ大文字だったりしませんか?
ほとんどの場合全部小文字だけど、たまに特定の人だけ大文字混じりで届いたりしませんか?
安全な業務ツール作成するには、いちいちこんなことを考えるのは面倒なので、関数を使って大文字か小文字のどちらかに統一した方が楽です。


大文字化→ Upper(文字列)
小文字化→ Lower(文字列)


2.左から○○文字抜き出す、右からXX字抜き出す
ファイル名を指定するときに、こうした関数を使うことになります。
「特に右から4字抜き出す」はよく使ってます。

左から文字を書くのになんで、右からでしょう?
それは拡張子だけ分離したいときがよくあるからです。

左から○○文字抜き出す→ Left(文字列, ○○)
右からXX字抜き出す→ Right(文字列, XX)

右、左の両方とも使えるようになると、「左のXX目から、○○目まで」っていうのも気になりますよね。

左のXX目から、○○目まで→ Mid(文字列, XX, ○○)

ただこれは実は使うのが難しいケースが多いんです。
というのも、「文字列」が全部で何文字か予め分からないケースが多いから。
経験上、「何文字目から何文字目まで」抜き出すというより、「左からXX字目から、右から数えて○○字まで」抜き出したいことの方が多かった気がします。
こういうときは、全体で何文字あるか分からないとまずい。
出たとこ勝負ってわけにもいかないので、文字列の長さを数える必要があります。

文字列の長さを数える→ Len(文字列)

合わせ技で、こんな感じになります

Mid(文字列, XX, Len(文字列) - ○○)

これができると、予め何文字あるか知らないときでも何とかなります。


3.置換
ある文字を他の文字に置き換えるやつです。
むしろ、ある文字だけを消去したいときに便利な気がします。
今までやってきた範囲では、日付型ではない日付データに含まれているスラッシュ「/」を消して、yymmdd形式にしたりするっていうのに使いました。
*11/01/30→110130 とか。ファイル名、フォルダ名に日付を使うときによく使います。

XXを○○に置換→ Replace(文字列, XX, ○○)


しれっと「日付型」って言葉が出てきましたね。
プログラミングをする上で避けて通れないのが、「データの型」の理解です。
慣れないとややこしい上に、バグの原因になる…
初めのころはこれで相当苦労しました。
次のエントリーで最低限知っておくべきデータ型についてまとめますね。
step数がなかなか増えませんが、このへんを押さえていれば結構なんでも応用が効きますのでがんばりましょう!


今回は以下のサイトにお世話になりました。
エクセル関数のサイトですが、今回紹介した関数はそのままVBAでも使えます。
Excel(エクセル)基本講座
URL:http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/moji_1.htm


PVランキング 人気ブログランキングへ

0 件のコメント:

コメントを投稿