http://q.hatena.ne.jp/1236879956

400

こんな感じにしたいのかな?(^^;

まず、A列が通勤手段だとします。

A列に「自動車」という文字列や「自動二輪」という文字列が含まれていた場合、「値を切り取って」とあるんですけど、この「切り取る」ってどう切り取るのか、よくわからないですね。。。
 
「含まれていた場合、=から後ろの文字列を切り取る」
ということでいいのかな?

だとすると、B列の自動車の列の計算式は、B2だったら、

Visual Basic:
  1. =IF(ISERROR(SEARCH("自動車",A2)),"",MID(A2,SEARCH("=",A2)+1,LEN(A2)))

 
C列の自動二輪の列の計算式は、C2だったら、

Visual Basic:
  1. =IF(ISERROR(SEARCH("自動二輪",A2)),"",MID(A2,SEARCH("=",A2)+1,LEN(A2)))

 
でいいのかな?

まず、SEARCH関数でそれぞれの文字がA列に入っているかどうかを調べ、
入っていない場合は#VALUE!というエラーになるので、ISERROR関数を使用して
それを調べ、エラーだったら "" 、つまり、何も表示させない。
エラーじゃなかった場合、つまり文字列が見つかった場合は、MID関数でA列から文字列を抜き出すというふうになっています。
抜き出す位置は、A列から、「=」を探して、その次の文字から、A列の最後の文字まで、としました。

なぜ質問者さんが「自動」という文字で探そうとしているのかがよくわからないのですが。。。(^^;

なお、A列に「自動車」と「自動二輪」が両方含まれている場合や、「=」が入っていない、また「=自動車=マーチ」みたいな感じで値が入っていた場合は、この式ではだめですね。

こちらにアップしておきます→vbastudy_27.xls

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2011 simple blog いろいろ勉強中 Suffusion theme by Sayontan Sinha