Excelの文字列関数とIF関数†
文字列関数†
Microsoft Office 文字列関数 (リファレンス)
- 先頭の文字を取り出す(NDCの一次区分(=類))
- スラッシュで区切られた最初の部分(ジャンルの大分類)
- =LEFT(ジャンルのセル,SEARCH("/",ジャンルのセル)-1)
- 覚えておくと良い文字列関数(引数などはリファレンス参照)
- LEFT 左側から指定文字数分
- RIGHT 右側から指定文字数分
- MID 指定位置から指定文字数分
- LEN 文字列の長さ
- SEARCH/FIND 指定文字列の位置
- SUBSTITUTE 文字列の置換
- EXACT 一致の確認
- CONCAT/TEXTJOIN 文字列の結合(範囲指定可) ※Excel2016以降
- PHONETIC ふりがなの取り出し ※Excel上で入力したセルのみ
文字列の結合†
- 文字列を直接書き込む場合は""で囲む
- &で文字列同士を結合
- 例: ="今日は"& DAY(TODAY()) & "日です。"
IF関数による条件分け†
- 応用例:BCCWJの品詞の大分類を取り出す
名詞-普通名詞-一般 | 名詞 |
動詞-一般 | 動詞 |
形容詞-一般 | 形容詞 |
代名詞 | 代名詞 |
- =IFERROR(LEFT(品詞,SEARCH("-",品詞)-1),品詞)
- 品詞に「-」がない場合にエラーになるのを避けている
おまけ:Excelの文字列関数で前後文脈を整える†
前文脈 | キー | 後文脈 |
のカレー食べてみたいですか?#宝くじがあたれば食べてみたいですね。# | カレー | に1万円もかけるほどの余裕はありませんから・・・・・・ |
京都市内でスープ | カレー | を食べられる店はありませんか?#すっごく興味があるのですが、札幌は |
- 後文脈の「#」より後を消す(「#」がない場合はそのまま)
=IFERROR(LEFT(<後文脈>,SEARCH("#",<後文脈>)-1),<後文脈>)
- 前文脈の「#」以前を消す(「#」がない場合はそのまま)*1
=RIGHT(<前文脈>,LEN(<前文脈>)-(FIND("~",SUBSTITUTE("#"&<前文脈>,"#","~",LEN("#"&<前文脈>)-LEN(SUBSTITUTE("#"&<前文脈>,"#",""))),1)-1))
※当該列をエディタにコピーして正規表現で置換した方が早い