• ベストアンサー

エクセルのMATCH関数でセルの2行目の検索はどのように・・・。

エクセルの初心者です。 MATCH関数について、 1つのセルの中に5行以上の文書が入っていて、その中の2行目の頭から5文字目までで検索をしたいのですが・・・。 左から5文字目までは”Left”を使えばいいと思うのですが、2行目の指定はどのように命令すればいいのでしょうか? 以上、よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> 質問がダメだったのかもしれません。 この数式がなければ、この質問文から、言いたいことを読み取るのは至難の技だと思いますよ。 それで、「ALT+Enterで改行してあるのですね?」と聞いているのに肝心なことを書いていませんが、改行はAlt+Enterでやってるのですね?改行記号がはいっているのですね?そうでなくて自動改行なら打つ手なしです。 A1の頭から5文字が、C1の中で改行された2行目にあるかどうかを探すんですね? それならとりあえずあいているD1にC1の2行目だけを取り出します。改行記号で改行された、3行以上あるデータなら、以下の式で2行目だけ取り出せます。 =MID(C1,FIND(CHAR(10),C1,1)+1,FIND(CHAR(10),C1,FIND(CHAR(10),C1,1)+1)-FIND(CHAR(10),C1,1)-1) 取り出したD列を =MATCH(LEFT(A1,5)&"*",$D$1:$D$100,0) で検索したらいかがですか?

furutusara
質問者

お礼

できました。ありがとうござました。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

MATCH関数ではないですね。 > 1つのセルの中に5行以上の文書 ALT+Enterで改行してあるのですね? それなら目には見えませんが改行記号が入っています。2行目であればその最初の改行記号の1つ後ろからMID関数で5文字拾えばいいわけです。 A1セルが対象だとして、改行記号はCHAR(10)ですから、 =MID(A1,FIND(CHAR(10),A1,1)+1,5)  でどうでしょう?

furutusara
質問者

補足

MIDで試してみたのですが、うまくいきません。 質問がダメだったのかもしれません。 エクセルのイメージはこれです。 セルA1 | セルB1 | セルC1               セルC2               ・               ・               ・              セルC100 セルA1の文字列の先頭から5文字を、 セルC1~セルC100までの中から見つけ出し、 セルB1に何番目かをだすというものです。 ただし、C列の中は改行文で、2行目の文から見つけたいです。 これまでは、セルC1~C100の文は1行だったので、 =MATCH(LEFT(A1,5)&"*",$C$1:$C$100,0) でセルB1に出せていたのですが、 C1~C100が5行程の文になり、2行目のはじめからという設定必要になっています。 以上、よろしくお願いします。      

関連するQ&A

  • エクセルでセル内改行の1行目だけ抜き出す関数は?

    エクセルでセル内で改行している文字列データがあります。 このセルの1行目だけを抜き出す関数はありますか?

  • エクセルで参照セルを行単位でコピー

    お世話になります。 エクセルで、参照セルを行単位で抜き出す関数などあるのでしょうか。 参照セルは、一行の文字数などランダムですし、一行の文字数もランダムです。left(**,*)では無理でした。 よろしくお願いします。

  • Excelの特定のセル内で“X”文字目が“Y”を検索→行の抽出

    Excelである特定のセルのX文字目が“Y”の行だけを抽出したいのですが 便利な関数はありませんでしょうか? Excel初心者です。宜しくお願いします。

  • エクセルでの検索

    エクセルで、 SUBTOTAL関数で列の集計をしているシートで、 特定の行を左から検索していった時に 最初にヒットする数値のセル位置を取得したいのです。 何か良い方法があれば、教えて下さい。 出来れば、マクロを使わない方法で宜しくお願いします。 (INDEX,MATCH関数のアスタリスク検索では文字列しかヒットしませんでしたので。)

  • エクセルで複数列・行の中にある文字の有無を探す関数

    エクセルで複数列×行の中に、指定した文字(引数)があるか探す関数を教えてください。 また、引数には曖昧な「*」が文字のお尻に追加されているものも含まれます。 <例:html* VLOOKUPやMATCHは、1列しか引数として見ないため、うまくいきません。 COUNTIFでは、完全一致はうまくいきますが、「*」が含まれるとうまくいきません。 よろしくお願いいたします。

  • エクセルで文字列検索

    OS2000 エクセル2000です セルの中から文字を検索するにはどうしたらよいでしょうか?関数を使わないとできませんか? 例えば1000行のセルの中に「デジカメ」の文字が 入ってるのかどうか調べたいのですが。 スクロールで追っていくのが大変だったので、質問 させていただきました。 初心者ですみません!

  • エクセル:文字列がマッチしたものだけ、隣に表記を入れたいです

    エクセルの100行ぐらいある1列の中で、例えば、「○×△◇」という文字列があるセルのみ、その隣のセルに「記載有り」という表記が出るように、関数を作りたいと思っています。 IF・MATCHや、VLOOKUPを使えばと思ったんですけど、そんなに甘くないようで、苦戦しています。 どなたか、アドバイスいただけないでしょうか。よろしくお願い致します。

  • EXCEL 行内検索し、マッチする複数のセル位置を返す方法

    いつもお世話になっています。 EXCEL2003で特定のセルを塗りつぶす処理を行いたいのですが途中で行き詰まってしまいましたので アドバイス下さいますよう、お願いします。 目的 行内●が書かれているセルを条件書式等で塗る   A B C D E 1 1 2 3 4 5 2 ●   ●   ● 3 ● ●     ★ 4  5 ★   ● ● 但し、以下の条件があります。 列内に★がある場合、★より左の●は塗らない 列内の★がある場合、★より右の●は塗る つまり上図の場合塗られる●の行は1と5です。 試したのはMATCH関数ですが、うまく機能させることは出来ませんでした。 どうぞよろしくお願いします。

  • エクセルのINDEX(MATCH)関数

    エクセル2010で、INEX関数とMATCH関数を組み合わせて、表の交点のセルの値を求める式を作ったのですが、列方向に使用する器具をNo1、No2、・・・としたのですが、No9までは正しく検索できるのですが、No10以降になると、No1の値を参照してくることに気付きました。 ちなみにNo20、No21はNo2の行を、No30台はNo3の行を参照してくる事が分かりました。 そこでNoを取って単に数字だけにするとちゃんと11、22,、33に該当する行を正しく参照することも分かりました。 原因は何となく分かる(最初の3文字目までで検索する)のですが、対策はどうすれば良いのでしょう?

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

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