こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【エクセルの数式を教えて下さい】

【エクセルの数式を教えて下さい】

エクセルで、A列を参照して、B列に次のように反映させたいです:

A列
A1 apple
A2 a banana
A3 a cup of tea

B列
B1 a
B2 b
B3 c

スペースを含まない文字列の場合は、最初の一文字を、スペースを含む文字列の場合は、最初のスペースの次の一文字を返す数式を作りたいのです。

countif や find を使って作れるかと思ったのですが、自分のレベルではダメでした。

関数が出来る方、教えて頂けますか?
よろしくお願い致します。

投稿日時 - 2010-10-02 14:09:03

QNo.6222403

困ってます

質問者が選んだベストアンサー

エラー処理を忘れていました。

B1=IF(ISERROR(FIND(" ",A1,1)),LEFT(A1,1),MID(F13,FIND(" ",A1,1)+1,1))

" "の中は半角スペースです。
FIND関数は検索対象の中にキーワードが含まれていないとエラーになります。
エラーになったときは、文字列の最初の文字を抽出します。
2、3のケースで確認しました。これで、最初のスペースの後の文字が抽出されると思います。

本当は、a cup of tea は、c ではなく t にしたいのでしょうけど。これは難しい。VBAならできると思いますが。

投稿日時 - 2010-10-03 00:56:06

お礼

m_and_dmp様

ご回答、ご教示どうも有難うございました。

欲しい文字がちゃんと返りました。
ISERROR関数は、「=()」や「=NOT()」で避けていましたね…。使えるようになりたいと思いました。

また、恥ずかしながら、「エラーになったときは、文字列の最初の文字を抽出」するという、FIND関数のルールも知りませんでした。勉強になりました。

今回はお世話になりました。

投稿日時 - 2010-10-03 22:42:28

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

=MID(ASC(A1),IF(ISERROR(FIND(" ",ASC(A1))),0,FIND(" ",ASC(A1)))+1,1)

とか、

=IF(ISERROR(FIND(" ",ASC(A1))),LEFT(ASC(A1),1),MID(ASC(A1),FIND(" ",ASC(A1))+1,1))

ではどうですか?

投稿日時 - 2010-10-03 00:07:09

お礼

tear13様

ご回答、ご教示どうも有難うございました。

2式とも、欲しい文字がちゃんと返りました。
ISERROR関数は知りませんでしたので、使えるようになりたいと思いました。

最初の式は、MID関数から始めて収めてあって、格好よいですね。

今回はお世話になりました。

投稿日時 - 2010-10-03 22:32:22

ANo.3

最初の文字列が決まっていない場合は、FIND関数で正解です。

B1=MID(A1,FIND(" ",A1,1)+1,1)
" "の中は半角スペースです。

投稿日時 - 2010-10-02 21:23:53

ANo.2

theにならなくても、an になることはありそうなので、修正します。
B1=IF(Left(A1,1,2)="a ", MID(A1,3,1),IF(LEFT(A1,1,3)="an ", MID(A1,4,1),Left(A1,1)))
この方法ですと、IFをもう一つネストすると the でもOKです。

投稿日時 - 2010-10-02 14:38:44

お礼

m_and_dmp様

ご回答を有難うございました。
修正バージョンも考えて下さって有難うございます。

確かに、apple と a banana と a cup of tea は例示に過ぎなくて、"a" "an" "the" には限らないのです。今後どういうフレーズ(というか、アルファベットの並び)が出てきても対応できるように、限定しない数式を作っておきたいのです。

シンプルなようでいて、考え始めたら、自分ではお手上げでした。
スペースの有る無し、どこに入るか、で区別するのって、難しいようですね…。

投稿日時 - 2010-10-02 20:54:30

ANo.1

B1=IF(MID(A1,2,1)=" ",MID(A1,3,1),Left(A1,1))
" "の中は半角スペースです。
でどうですか?
a bananaは、the bananaとなることはないですね?最初がtheだともう少し複雑になります。

投稿日時 - 2010-10-02 14:28:43

あなたにオススメの質問