* 文字数の異なる文字列から指定した文字を抜き取る [#xd3d259e]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|はっし|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(普通,faq03,priority)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(Calc 表計算,faq03,category)|
 |~投稿日|2010-07-10 00:36:04 (土)|
 |~OS|XP SP3|
 |~依存するページ||
 |~バージョン|#listbox3(3.2.1,faq03,version)|
 
 ** メッセージ [#zf297c1a]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 いつもお世話になってます。~
 今回も宜しくお願いいたします。~
 
 以下のように文字数が異なっている場合、指定した部分を抜き出す関数などありますか?~
 ~
 (例)~
 1-2-3      →2~
 12-3-45   →3~
 12-34-56  →34~
 123-4-5   →4~
 123-4-567  →4~
 123-45-6  →45~
 123-45-678 →45~
 1-23-456  →23~
 ~
 抜き出しをしたいのは"-"で挟まれた部分です。~
 この部分は1桁か2桁です。~
 前後の部分は少なければ1桁、多ければ3桁で不定期で並んでます。~
 ~
 LEN、LEFT、RIGHT、MIDなどの関数を組み合わせて試してもみましたがうまくいきません。~
 良い方法をご教授、お願いいたします。~
 
 
 
 ----
 ***こんなんでどうでしょう [#i14de7b6]
 >I Hiroshi (2010-07-10 02:45:05 (土))~
 ~
 文字列がA1に入っているとして、無理矢理1セルに式を書くと以下のようになるかと、~
 =MID(A1;FIND("-";A1;1)+1;FIND("-";A1;FIND("-";A1;1)+1)-FIND("-";A1;1)-1)~
 =MID(A1; ←対象文字列~
  FIND("-";A1;1)+1; ←最初の"-"の位置を割出しその1桁右を指定~
  FIND("-";A1;FIND("-";A1;1)+1)-FIND("-";A1;1)-1) ←最初の"-"から右にある"-"を位置を割出し、最初の"-"の位置を引く~
 ~
 こんな解説でわかりますでしょうか?~
 2つある"-"の位置を特定して、その間をMIDで抜取る感じです。~
 
 //
 ***うまくいきました [#w1ff3b9f]
 >はっし (2010-07-10 06:18:50 (土))~
 ~
 I Hiroshi 様 ありがとうございました。~
 おかげさまで抜き出すことができました。~
 
 //
 ***SEARCHでもOK [#l6863928]
 >M.Kamataki (2010-07-10 10:17:10 (土))~
 ~
 FINDの替わりにSEARCHでもできますね。Excelに関する以下のQ&A参照。~
 ~
 セル内文章の特定の文字で囲まれた部分のみを抜き出す方法~
 http://questionbox.jp.msn.com/qa5201673.html~
 
 //
 #article