• 締切済み

Excelの文字列操作について

Right・Left・Mid関数は何桁目以降表示しなさい、とか何桁目以降何桁分を抽出しなさいという関数ですが、例えば、@AAAA@BBBBB@CC.***のような文字列があり、文字列の右側から何桁目に@が来るか知る関数はありますか?サンプルの文字列でいうと、***.CC@の順になりますので、7桁目と判るようにできますか?どなたかお知恵をお貸し下さい。よろしくお願い致します。

みんなの回答

noname#42041
noname#42041
回答No.2

失礼しました。右からなんですよね。 右から何文字目かを知るにはVBAを使う必要がありそうです。 InstrRevを使います。

参考URL:
http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page15.htm
sk4505
質問者

お礼

VBAも利用せず、すごくアナログチックですが、SEARCH関数とREPLACE関数を利用し、文字列にある複数の@を別文字に置き換え、どうにか対応できそうです。ありがとう御座いました。

noname#42041
noname#42041
回答No.1

ヘルプでfindを見てください

sk4505
質問者

お礼

Find関数ではないのですが、どうにか知恵を絞り結果を導くことが出来ました。1本立ちするよう頑張ります。

関連するQ&A

  • VBAマクロで特定文字から文字までを抜き出す

    下記のサンプル文字列がありますが、余計な文字が入っているので削除をして 目的部分のみ抽出したい。 aaaa@gmail.com> 時折、下記の様な場合があるのでドメイン部分だけ抜き出したい。 @しつもん株式会社aaaa@gmail.com> @だけでMIDとかで書き出すと「しつもん株式会社」以降も抜き出される ので、「>」以前で「@」以降を抜き出すって形にしたいのですが、ネットで 検索をしても??だったので質問させて頂きます。

  • EXCEL 文字列操作

    いつもおあ世話になっております。 現在、A列に6桁の数字があり、その中の右から初めに出てくる『0』を削除する関数を考えています。 (例:100000→10000    100001→10000    101001→10101) 以下のように、IFをネストして一応できるのですが、 今後は10桁で同じ作業をしなければなりません。 もっと簡略化した記述方法はありませんでしょうか? よろしくお願いいたします。 【現在の関数】 IF(MID(A1,6,1)=0,LEFT(A1,5),IF(…))

  • エクセルの文字列操作

    住所録の様式で A列にNo、B列に氏名、C列に住所のファイルがあり、 C列の住所で、1個のセルに何故かしら「住所と電話番号」が入っています。 住所と電話番号を夫々別の列に分割したくて、 電話番号は、RIGHT 関数で取り出しました。 住所は、文字数が一定でないので、LEFTまたはMID関数では出来ません。 ここで質問です 住所データの末尾に混在する電話番号は10文字の場合に限定し、 文字数の異なる、住所(○○市XX町△△番地○△荘2-103など)のみ 抽出する方法はありませんか。 なお、VBAなどは無知です、エクセル関数だけの操作があれば教えてください。

  • エクセルで文字列の5桁目が9なら0に変更

    エクセル初心者です。 インターネットで調べてみたのですが、同様の質問にヒットしませんでしたので、教えてください。 A列に8桁の会員番号が文字列で表示されています。 この8桁のうち右側の5桁を関数(RIGHT(a8,5))でB列に抽出しています。 抽出された5桁の数字ですが、最上位桁が9の場合、0に変えたいのです。 A        B 01004567    04567  02015678    15678 03098765    98765 → 9を0に入替して「08765」と表示 このような対応が出来る関数を調べたのですが分かりませんでした。 ご教示のほど、よろしくお願いします。

  • 【エクセル】文字列分割の関数

    エクセルで文字列を分割する数式を探しております。 以下のデータを 右から4桁とそれ以外に分割したいのです。 20002  → 2 0002 30003  → 3 0003 40010  → 4 0010 511000 → 51 1000 1019550 →101 9550 1012279 →101 2279 2019220 →201 9220 3338850 →333 8550 たとえばLEFT関数やRIGHT関数ですと、分割というよりも 抽出になってしまい、私の求めているものとは異なってしまいます。 考えが煮詰まってしまい、これ以上進めない状態です。。。 何卒よろしくお願いいたします。

  • 特定文字列の抽出

    VB6の質問です。 桁数、データが不定の文字列中から特定文字を抽出したいのでが、方法を教えていただけないでしょうか? 抽出したいデータの桁数が毎回不定でMid, Left, Right関数が使用できません。 Dim Buffer As String Buffer = "A12345...B678910.TRAGET..C" '桁数、データが不定の文字列がBufferに入ります。 例えば、変数Bufferから、桁数を考慮しないで"TARGET"の文字列を抽出したのです。 InStr関数で、位置を特定して、Mid関数などで抽出するれば、良いと思うのですが これをどんな桁数のときも対応できるようにルーチン化にできないでしょうか?

  • エクセルの文字列操作

    (1)A列にファイル名(文字数任意)と拡張子(文字数任意)が入力されています。 fileAaa.exl fileBbbbb.exlx fileCc.doc fileDddd.docx (2)↑のデータからMID関数を使ってB列にファイル名 C列に拡張子を表示させたい 質問1. A列の拡張子"."の位置が左から何文字目かを知るための関数名を教えてください。 質問2. MID関数やBVA以外でもっと簡単にできる方法があればおしえてください。

  • .NET Compact Framework で文字列操作について

    .NET Compact Framework で文字列操作(Left、Mid、Right等)の方法が分かりません。 .NET Frameworkでは確かそのような関数があると思いますが、代わりに利用できる関数はありませんでしょうか? 参考になる文献等がございましたら、教えていただけないでしょうか。 よろしくお願いします。

  • 文字列抽出の方法

    こんにちは。Excelの文字列抽出の方法で、 12345あいうえと 23434Abcfsafjkfafal 98438かきくここabcdfdsfsdfasfasfja などのデータがあります。最初の5文字は必ず数値になります。数値以降の文字列を取得したいのですが、何文字あるかは不明です。その最後までデータを取得したいと考えています。mid関数を使うと思ったのですが、5文字目以降の文字列のバイト数、文字数がわからないので使うことができません。どのように解決すればよいかご教授お願いいたします。

  • エクセル 文字列で右から一文字づつ文字を抽出したい

    エクセル2010を使用しています。 mid(抽出したいセル,左からの文字数,抽出したい文字数)と作業を行ってきましたがmid関数は常に左から抽出されるようです。 そこでright(抽出したいセル,抽出したい文字数)と試みましたが、一番右はOKですが2文字目、3文字目とどのように抽出してよいかわかりません。 どなたかご教授いただけませんでしょうか。