• ベストアンサー

EXCEL2003 指定した位置の文字列を取り出す

"ABC,DEFG,H,IJ,KLMNO,PQ,RSTU"というような文字列に対して、「1」ならば"ABC"を、「5」ならば"KLMNO"を取り出したいと思います。 そういう関数があったと思うのですが思い出せません。 どなたか教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

欲しい所を切り取ってくる方法でも、要らない部分を切除する方法でも、どちらでも計算できます。回答などを参考に、ご自分でも工夫してみて下さい。 例: A1に文字列 B1に数字 C1に =MID(LEFT(A1,FIND("\\\",SUBSTITUTE(A1&",",",","\\\",B1))-1),FIND("\\\",SUBSTITUTE(","&A1,",","\\\",B1)),99) 例: >そういう関数があったと思う そういう関数は無いので作ります。 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける public function getsplit(a,b)  dim x  x = split(a, ",")  getsplit = x(b - 1) end function ファイルメニューから終了してエクセルに戻る =getsplit(A1,B1) とか =getsplit(A1,5) とか =getsplit("ABC,DEFG,H,IJ,KLMNO,PQ,RSTU",B1) などのように計算する #いずれの方法も、適切なデータを与えなければ特に問答無用でエラーを計算させます。

kobacchi_masa
質問者

お礼

ありがとうございました。 ???(5,"A,B,C,D,E,F,G") みたいな書式の関数があったと記憶していて、色々探して見つからなかったので質問させていただきましたが、まさか記憶違いだったとは。。 お蔭様で解決しました。 お世話様でした。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

マクロでしたらSplit(元の文字列 , 区切り文字)ですが…

kobacchi_masa
質問者

お礼

ありがとうございました。 ないものは自分で作ると言うことを今回学びました。 技量がないのでもう大丈夫とはいかないのですが。。 マクロは不慣れですが、『Split(』、勉強してみます。 お世話様でした。

関連するQ&A