• ベストアンサー

セルから文字を抜き出す方法(指定した文字から下を)

いつもお世話になります。 前回、セル内の文字を行単位で抜き出す式をお聞きしたのですが、今回は、ある指定した文字から下の行を抜き出す方法をお願い致します。 一つのセルに5~7行文字が入っており、その中に必ず決まった文字が入っています。しかし、その決まった文字は、2~4行目のどこかに入っております。たとえば、6行のセルで、決まった文字が3行目に入っていた場合、4~6行目を抜き出して貼り付けたいのですが、可能でしょうか。 前回、VBAっていうのでしょうか。そのサイトを教えて頂きましたが、どの様に使うのかもわからないので、出来たら、式で出来たらと思っております。よろしくお願い致します。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

桁数なら#1の方の言うとおりです。 でも行ということは、Alt+Enterで改行しているということでしょうか? だとしたら =MID(A1,FIND(CHAR(10),A1,FIND("特定の文字",A1))+1,LEN(A1)) ※セルの書式設定の配置で「折り返して全体を表示する」にチェックしておいてください。

jr6331
質問者

お礼

ありがとうございました。 抜き出せました。エクセルのすばらしさに感動です。どの様にしたら、このような式をかけるのか、尊敬致します。また何かありましたら、よろしくお願いします。

その他の回答 (1)

  • periodayo
  • ベストアンサー率20% (64/315)
回答No.1

文字の桁数が最高7桁だとして、決まった文字は@とします その場合 =MID(A1,FIND("@",A1)+1,4) 式の最後の4は@の記号移行4桁取り出します。 つまりA1に ppp@4587 の場合 4578 a4@9s なら 9s となります

jr6331
質問者

補足

早速ご回答ありがとうございます。 申し訳ないのですが、文字ですが、桁ではなく行です。 一つのセルに、一行目に11111。2行目に22222。3行目に55555。4行目に88888。5行目に44444と 入っていた場合、55555以降の2行(88888と44444)だけを抜き出したいのです。しかも、セルによっては、6行だったり、7行だったりします。その中の決まった文字(この場合、55555)より後ろにある行の文字を抜き出したいのです。たとえば、A1セルには6行はいており、決まった文字(この場合は55555)が2行目にあり、A2には、5行で決まった文字が3行目にあるように、セルによって条件が違ってしまうのです。各セルの条件が決まっておりません。数式的には、このセルのこの文字より後ろ(していた文字は入らない)の文字だけを抜き出す。こんな感じでしょうか。よろしくお願いします。

関連するQ&A

  • VBAでのセル範囲指定について

    お世話になります。 私が分からないのは、VBAでのセル範囲指定なのですが、 例えば、シートにデータが有、そのデータの1行目は見出しなので 2行目からデータが入っているセルまでの範囲を指定、コピーして 隣のシートに貼付したいのですが、そのデータの入力される範囲が 毎回違います。「CurrentRegion.Select」としてしまうと、1行目 の見出しまでも範囲指定されてしますので、どうやったら良いのか どなたかお教え頂きたく宜しくお願い申し上げます。

  • エクセルで都度、指定したセルに貼り付ける方法

    お世話になります。 今回VBAを初めて使う者です。 仕事で急遽必要になり本を読みながらやってますが 下記のことができなくて困ってます。 よろしくお願いします。 シートにデータの一覧があり VBAの実行で 指定した範囲で切り取り 指定したシートのセルに貼り付ける。 都度切り取る範囲と貼り付けるセルが 変わるので、どうしたらいいか分かりません。 よろしくお願いします。

  • ワードの表の文字について

    お世話になります。 ワード2003です。 表を作って、行の高さを小さくしました。(右クリック>表のプロパティ>行タブで高さを指定するにして、固定値を選択) 行は狭くなったのですが、中の文字が下にずれて見づらくなりました。 セルの配置で中央を選択しても、下寄りになって見づらいです。 セルの中央に配置し、見やすくするやり方ありますでしょうか。 よろしくお願い致します。

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

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

  • VBAを使用し10行おきにセルの下に罫線を引く方法

    Excel2003のVBAを使用し、10行おきに太い罫線をセルの下側に引きたいのですが、ご存知な方教えて頂けないでしょうか? 出来る事なら、セルの中に×が入っている行は自動的に省いて(選ばず)10行おきに罫線を引きたいと思っています。 先日、解決した内容の質問ですが、新たに3行目から最終行までとか罫線を引きたい行を指定出来るようにコーディングいただけると大変助かります。

  • エクセルのVBAで教えたください。セルの文字数が特定の文字数の時のみ下2桁を書き出す方法。

    VBA初心者です。仕事での作業で困っています。 大量の数値データが1列にあります。それぞれの数値の文字数を関数で隣のセルに表示しています。その文字数が例えば4文字の時だけ下2桁の数字をさらに隣のセルに書き出したいのですが、どのような式を作ればよいのでしょうか。 こんなイメージです。 セル1  セル2  セル3 1025   4    25 124556  6 12     2 1254   4    54 6587   4    87 よろしくお願いいたします。m(_ _)m

  • VBAで特定の文字が入ったセルをクリアにする方法

    Excel VBAに関する質問です。 指定したセル範囲の中で、人月という文字を含む文字が入ったセル を見つけ、そのセルに入った文字を全てクリアにしたいと考えています。 良い方法をご教授いただけませんでしょうか。 人月という文字を含む文字は[0人月]や[2.5人月]など多岐に渡るので、 自分のイメージでは、人月という言葉だけで検索してひっかかるものを全て消そうと思っています。 なお、該当の文字はB列にしかありません。 宜しくお願い致します。

  • エクセルVBA 指定したセルの行を指定したい

    エクセルVBAで、指定したセルの行をコピーして、コピーしたセルの挿入をしたいです。 どのような文章で、書けばいいでしょうか;; よろしくお願いいたします

  • VBAでセル内の文字列を一行にする方法

    ExcelのVBAで、セル内に折り返しで3行に書かれている文字列を、各文字列間に空白を1つ入れて、1行につなげるにはどうしたらいいですか

  • EXCELのセル内の文字の折り返しがうまくいかない

    EXCEL2003でセル内で文字の折り返しを指定しているなか、 セルの書式設定で文字の折り返しを選んだのに文字が折り返して表示されません。 折り返しにはなっていますが、行の幅が自動で広がりません。 行の高さの指定も特に指定してないとこのことです(人に質問 されています)。 可能な行もあります。 なので何かが行に対して設定されているのだとは思うのですが 原因が思い浮かばないのです。 ただ、列幅をダブルクリックして自動調整を一度行っておけば、 そのあとはその行も折り返しがされ、行高さも自動調整します。 何かが行に設定されているようですが、 何が考えられるでしょうか? よろしくお願いします。

専門家に質問してみよう