「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:1310
現在:4


文字数の異なる文字列から指定した文字を抜き取る

ページOpenOffice.org FAQの登録ページ
投稿者はっし
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2010-07-10 00:36:04 (土)
OSXP SP3
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

いつもお世話になってます。
今回も宜しくお願いいたします。

以下のように文字数が異なっている場合、指定した部分を抜き出す関数などありますか?

(例)
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などの関数を組み合わせて試してもみましたがうまくいきません。
良い方法をご教授、お願いいたします。


こんなんでどうでしょう

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で抜取る感じです。

うまくいきました

はっし (2010-07-10 06:18:50 (土))

I Hiroshi 様 ありがとうございました。
おかげさまで抜き出すことができました。

SEARCHでもOK

M.Kamataki (2010-07-10 10:17:10 (土))

FINDの替わりにSEARCHでもできますね。Excelに関する以下のQ&A参照。

セル内文章の特定の文字で囲まれた部分のみを抜き出す方法
http://questionbox.jp.msn.com/qa5201673.html

お名前:
題名: