• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

全体的な意図の説明が不足しているように思うが >一文字づつ文字を抽出したい 実例を挙げること。 例データ 1文字だけ取り出す場合 B列に左からの位置 A列    B列  C列 123456 2 5 123456 3 4 123456 5 2 123456 6 1 123456 4 3 C列は =MID($A$1,LEN($A$1)-B1+1,1) 3桁うぇお取り出すの場合 123456 2 5 345 123456 3 4 234 123456 5 2 #VALUE! 123456 6 1 #VALUE! 123456 4 3 123 列の式 =MID($A$1,LEN($A$1)-B1+1-3+1,3) #VALUEはそこから3桁取れないというエラー。面倒なのでチェックを入れるのは略 すべて計算を組み込んでMid関数でも出来るでしょう。

aw1974
質問者

お礼

回答ありがとう御座いました。 無事解決することができました。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>追加で恐縮なのですが、A1に”10924725”という文字列で数字が入っていた場合110924725、1110924725と常に左を表示されてしまいました。 mid関数などは自然と空白になるのですが、何かいい方法はないでしょうか。度々で恐縮です。 「常に左を表示される」とはどういう意味でしょうか? また、どのような関数操作で、そのような数字が返ってきたのでしょうか? 実際にMID関数でうまくいく数式と、ご希望の右から1桁の数字の表示方法(例えば、列方法の各セルに右からの数字を1桁ずつ左から右に表示=シートのレイアウト)を例示されると、皆さんから的確な回答が寄せられると思います。

aw1974
質問者

お礼

回答ありがとうございました。 うまく説明できず申し訳ありません。 Ano1さんに教えていただいた”=LEFT(RIGHT(A1,2),1)”の組み合わせだけですと桁数の上限を超えても常に最後の数字が帰ってきてしまったのです。 ANo2さんに教えていただいたmid関数とLEN関数を試してみたところうまく数字を反映させることができました。

  • FEX2053
  • ベストアンサー率37% (7986/21351)
回答No.1

右から2文字目、3文字目は、右から2文字抜いた時の先頭、3文字抜いた時の先頭です。 =LEFT(RIGHT(A1,2),1)

aw1974
質問者

お礼

回答ありがとう御座いました。 無事解決することができました。

aw1974
質問者

補足

早速ご回答いただきありがとう御座いました。 追加で恐縮なのですが、A1に”10924725”という文字列で数字が入っていた場合110924725、1110924725と常に左を表示されてしまいました。 mid関数などは自然と空白になるのですが、何かいい方法はないでしょうか。度々で恐縮です。

関連するQ&A

  • 指定した文字列が抽出できる関数

    Excelで、指定した文字列だけを抽出表示する場合、「文字列を先頭(左)から抽出する」などの関数は「LEFT関数」や「RIGHT関数」がありますが、位置の指定ではなく、文字列の中にある、特定の文字だけを指定して抽出してできる関数は何でしょうか? たとえば「ラーメン」「うどん」「そば」いずれかを「含む」文字列が入っているセルの中から、「うどん」のセルだけを抽出して表示するという場合です。

  • 文字列抽出の方法

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

  • Excelにて任意の位置の文字列を抽出したい

    Excelにて任意の位置の文字列を抽出したい セルA1に、あたい1(837,1077,132) セルA2に、あたい2(657,100,32) セルA3に、あたい3(20,10000,888) のような値が入っています。 ここから、132、32、888を取り出したいのですが、どのような式を入れたら良いでしょうか? Right関数だと上記のように桁数が2桁と3桁と混在している場合に抽出できませんでした。

  • excel 文字列抽出に関する質問

    エクセル文字列抽出について質問です。 例えば、 "西郷 隆盛" この文字列から、" "の前後に分けて "西郷" と "隆盛" をユーザ定義関数を用いて、それぞれ別セルに抽出する場合、どのようにモジュールに入力すれば良いのでしょうか? ご教授願います

  • エクセルのセル文字を右の指定位置から取り出し

    いつもお世話になります。 エクセルのセル入力文字を指定位置から取り出す仕事がありますが、毎月15日と 25日にあります。この時期は、他の作業の締めもありとっても困っています。作業は最後の一文字をキーで消している。私のスキルとしては関数でできればと思っていますが、駄目でしたらできる方法で教えて下さい。 [エクセルのセルデータの内容]  ・セル文字=ローマ字  ・文字数=5文字~10文字以内(ばらばら)  ・500行~800行/月  今やっているやり方ですが、セルを上から下へ順次移動させてBACKSPACEキーで消している。 [やりたいこと]  関数でセル文字の後ろから2つ目以前全てを取り出せればと思っています。 [会社の人にWEBで探してもらったのですが]   ・MID関数ですと左からのしていしかできなかったのです。  ・MIDX関数(アドイン)です取り出したい文字数がバラバラなので、かえっ  て面倒でした。 以上ですが、宜しくお願いします。

  • EXCELで 「○○でない」抽出(文字列)

    従業員コードからRIGHT関数を使用して「00」(文字列)を抽出しました。 ところが全社員の中から 「00」でない と抽出しようとしたところうまく抽出できません。 「00」である と抽出するのはうまくできます。 何か理由があるのでしょうか?

  • 特定文字列の抽出

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

  • Excelで複数の文字列を抽出する方法

    Excel 2007で列に、[xxxA],[xxxB],[xxxC]... といった文字列があります。 例えば、この文字列の右端が、[A]か[B]で終わる文字列のみを抽出する方法をご教授ください。 一つの文字列であれば、RIGHT関数で抽出できたのですが、2つ以上の抽出方法が判りません。 どうぞよろしくお願いいたします。

  • Excelの文字数が決まっていない文字列の抽出

    教えてください。Excelで、文字数の決まっていない文字列を抽出したいのですが、例えば、 セルA1 : プロジェクト1 簡単な文章 2352 PD_JOK セルA2 : プロジェクト13 複雑な文章列とは決まっていない 2453 AO_JKI ・・・・・・ というセルから、 プロジェクト名から、半角数字前までの文字数が決まっていない文字列「簡単な文章」や「複雑な文章~」をセルB列に抽出する方法を教えていただきたいのですが、 そして、半角数字後の半角英字「PD_JOK」をセルC列に抽出する方法も同時に教えてください。 万単位でデータがあるので、関数を使わないと難しいです。 よろしくお願い致します。

  • 文字抽出

    エクセル初級者です。マクロは分かりません。 セルに ”漢字 半角スペース (ピンイン表記)” されています。 例)麻婆豆腐 (mápó dòufu) これから漢字とピンインを分けて抽出したい。 対象のセルの列には漢字は1~7文字で文字数に応じてピンインも変化します。 FIND,MID,LEFTなどの関数を調べてみましたが、所望には至りませんでした。 何かアドバイスいただければ有難く。

専門家に質問してみよう