• ベストアンサー

EXELでの文字列の一部抽出

uissstの回答

  • uissst
  • ベストアンサー率41% (7/17)
回答No.2

単純に置換などではできないとおもいます。 おそらく関数でもそういう機能はなさそうなので 関数で実現する場合は文字列操作を駆使しておこう形になると思います。たとえばFIND関数をいくつかつなげて返り値0のものの前をMID関数で切ってあげるとか VBAならばSPLIT関数を使用し"/"で切り分けて最後の要素を入れてあげるとか API使用ならばInternetCrackUrlを使用して分割してあげるなどの方法があります。

関連するQ&A

  • エクセルで一部の文字を置き換えたい

    A列の中の特定の文字をB列にある文字に置き換えたいのですが、 どのようにすればよいでしょうか? 例えば、一行目はab123d となる様に、B列の文字をA列のCの部分と置き換えたいのです。  |A |B --|-------|---- 1 | abCd |123 2 | abCd |456 3 | abCd |aaa 4 | abCd |bbb 5 | abCd |ccc どなたか解る方が居りましたら教えてくれないでしょうか。 宜しくお願いします。

  • sedで「(~)」を使って文字列の一部を取り出し

    sedで「(~)」を使って、文字列の一部を取り出したいのですが期待した結果になりません。 以下のようなファイルがあります。 そこから、最初に見つかった「A-Z0-9」を含む文字列を取り出したいのですが、 どうしても、2番目にでてくる「0-9」でなる文字列が取り出されます。 環境は、Solaris/Linuxになります。 ■ファイル cat aaa "aaa","bbb","ccc","123456","ddd","eee","fff,"0000","ggg" "aaa","bbb","ccc","AAA123","ddd","eee","fff,"0000","ggg" ■sed sed 's/.*,"\([A-Z0-9].*[0-9]\)",.*$/\1/g' aaa ■結果 0000 0000 期待する結果は、 123456 AAA123 なのですが、 期待した結果を取り出すにはどうしたらよいのでしょうか。

  • 正規表現でシングルクォーテーションで囲まれた文字列

    VB.NET で開発を行っています。 シングルクォーテーションで囲まれた文字列の検索を行いたいのですが正規表現の記述が良くわからないので困っています。 たとえば 'AAA' + 'BBB' + 'CCC' 上記のの文字列から「'AAA'」「'BBB'」「'CCC'」も検索したいのですが,パターンとして「'.*'」を用いると「'AAA' + 'BBB' + 'CCC'」が返ってきます。 どなたかご教授ください。よろしくお願いします。

  • エクセルVBAでの文字列抽出

    エクセルVBAで文字列を検索して、検索した文字列を他のセルへ出力する方法がわかる方法を探しております。状況を図で説明すると、 A1セル:aaa\bbb\item1\ddd A2セル:aaa\bbb\ccc\item2\ddd A3セル:aaa\bbb\ccc\ddd\item3\eee このような状態からitemを検索して、B1セルに B1セル:item1 B2セル:item2 B3セル:item3 と表示させたいです。エクセルVBA初心者な者でRegExpを使うのかな、というところまではたどり着きましたが、そこから先にすすめません。 何か良い方法をご存知の方、教えていただきたいです。よろしくお願いいたします。

  • 抽出して並べ替えたい

    初めまして 非常に悩んでいます。 エクセルシートの列に下記のようにデータが並んでいます。(文字列) AAA bbb ccc (空白) BBB ddd eee (空白) AAA bbb ccc (空白) AAA eee ggg 並べ替え後 AAA AAA BBB bbb eee ddd ccc ggg eee 尚、列上でセル位置は任意で、空白行も任意です。(1つ以上です) できれば関数でお願いします。 VBAの場合、使用したことがないので詳しくお願いします。

  • 文字列の一致について

    URLのデータベースがあるとします。 例えば http://hogehoge.com/aaaa/ http://hogehoge.com/aaa/ http://hogehoge.com/bbb/ http://hogehoge.com/ccc/ URLにある文字列が含まれていたら、○○を表示すると言う処理をしたいと思っています。 例えばURLに「aaa」の文字列を含まれている時、「あああ」を表示しようとすると、最初に登録されている「http://hogehoge.com/aaaa/」に該当してしまいます。 「aaa」であれば、http://hogehoge.com/aaa/に該当して、「あああ」を表示させるようにできないでしょうか? 要するにURLに「aaa」が含まれていたら、「http://hogehoge.com/aaaa/」ではなく、「http://hogehoge.com/aaa/」に該当して、「あああ」を表示させる。 今は $url =~ /aaa/ のように「=~」を使用しています。 $url =~ /\/aaa\// のようにするしかないでしょうか。 アドバイスを御願いします。

    • ベストアンサー
    • Perl
  • 正規表現で一つ目の区切り文字で区切りたいのですが・・・

    aaa/bbb/ccc/ddd aaa/bbb/ccc/ddd/eee aaa/ccc/ddd $a=~/(.*)\/(.*)/; $1はそれぞれ aaa/bbb/ccc aaa/bbb/ccc/ddd aaa/ccc と成ってしまいます。 このように 「最後の/」で分けられてしまいます。 一つ目の/で分けるにはどうしたらよいでしょうか。

    • ベストアンサー
    • Perl
  • 【EXCEL】文字列抽出および表示の式について

    【EXCEL】文字列抽出および表示の式について EXCEL初心者です。 以下のように、A列はリストによる選択入力。B列、C列は、A列のリストで選択した値(文字列) を元に文字列を自動入力したいと思っています。 A列のリストの設定は分かるのですが、B列、C列にどのような式を入れれば良いかが分かりません。 (処理内容)  ・A列:リストにより選択形式で入力。リストの値(文字列)は、X列に定義(行数未定)。  ・B列:A列の値(文字列)と同じ値(文字列)をX列より抽出し、右隣のセル(Y列)の値(文字列)を表示  ・C列:B列の値(文字列)と同じ値(文字列)をY列より抽出し、右隣のセル(Z列)の値(文字列)を表示             [A列]   [B列]    [C列]   ・・・    [X列]   [Y列]     [Z列]   [1列目]  aaa   あいうえお   1234        aaa   あいうえお   1234 [2列目]  bbb   かきくけこ   5678        bbb   かきくけこ   5678 [3列目]  eee   たちつてと   3456        ccc   さしすせそ   9012 [4列目]  aaa   あいうえお   1234        ddd   さしすせそ   9012 [5列目]  ddd   さしすせそ   9012        eee   たちつてと   3456   :     :       :      :           :       :      :  よろしくおねがいします。

  • WORDの置換で単語の後ろに空白文字を入れたい

    ワード2007です。 横書きで、各行に単語が1つか複数並んでいます。 下記のような場合に、単語の最後に空白文字を入れる(置換する)にはどうすればよいですか? 置換で、「単語の最後」「行の最後」を指定する方法がわかりません 1.AAA   AAA□   BBB ⇒BBB□   CCC   CCC□ 2.AAA AAA    AAA AAA□   BBB BBB ⇒ BBB BBB□   CCC CCC    CCC CCC□  よろしくお願いします。

  • sedで文字列の抜き出し

    ある一部分の文字列を抜き出したく、sedを使用したいと思って試行錯誤しております。 ↓あるファイル内の文字列 aaa bbb=ccc:ddd=eee:fff=ggg: aaa bbb=hhh:ddd=iii:fff=jjj: ※aaaとbbbの間はスペースです。 ※bbb,ddd,fffはある一定のキーワードです。 ※ccc,eee,ggg,hhh,iii,jjjはバラバラの文字列で長さも一定ではありません。 【質問】 上記の文字列の中でddd=の後の文字列(eee,iii)のみを抜き出したいです。 以下のようなsedを試してみましたが、 eee:fff=ggg iii:fff=jjj が抜き出されてしまいます。 sed 's/.*:ddd=\(.*\):\(.*\)$/\1/' 恐れ入りますが、皆様の知恵をお貸し下さい。