• 締切済み

エクセル2002で同じ文字を検索し、関連セルのデー

こんばんは、エクセルにまだまだ詳しくないので教えていただけませんか? エクセル2002を使っています。 画像の様なシートがあります。 それで、、P14に機器Aと入力した時に、AS列にある機器Aのデータの下から5つを抜き出したいと思います。 これは機器Bとか機器Cとか毎回異なります。 例として、機器Aと入力した時は、P41に機器AのAVセルにあるデータ29をQ41にはAWセルにあるデータA29を。 上のP40にはデータ28、Q40にはデータA28をと言う風に読み出してくれればOKです。 もし機器Aのデータが4つしかなければP及びQセルの一番上は空白で結構です。 これをマクロではなく 関数で実現するにはどうしたらよいでしょうか? 詳しい方、よろしくお願いいたします・

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

お示しの図ではQ14セルに機器Aが入力されていますが本文ではP14となっていますので本文にしたがってお答えします。 なお、機器AのデータがたまたまAS列の機器Aの行に一致していますが、そのようなことではなくP14セルの指定にしたがってP37からQ41セルにAUおよびAWセルのでデータを表示させたいとのことですね。 それでしたらP37セルには次の式を入力してQ37セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF($P$14="","",IF(INDEX($AS:$AS,MATCH($P$14,$AS:$AS,0)+COUNTIF($AS:$AS,$P$14)-6+ROW(A1))<>$P$14,"",INDEX(AV:AV,MATCH($P$14,$AS:$AS,0)+COUNTIF($AS:$AS,$P$14)-6+ROW(A1)))) これで5つのデータが無い場合でも対応できます。 なお、機器Aや機器B などの文字の場合にはローマ字が半角の英数モードになっているか全角モードになっているかでエラーになることが有りますので必ず同じ文字となるようにしてください。

gekikaraou
質問者

お礼

ご回答頂きありがとうございます。 こちらの伝達ミスで誤解を招いてしまった様ですので、新たに質問をさせて頂きました。 よろしければ、そちらを見ていただけるようお願いします。 http://oshiete.goo.ne.jp/qa/7886827.html

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

> P14に機器Aと入力した時に、AS列にある機器Aのデータの下から5つを抜き出したい > 機器Aのデータが4つしかなければP及びQセルの一番上は空白で結構です。 例えば、その「下から5つ」が「数千行目」に表示されるだけで良いのでしょうか。 質問文・図からは、そうとしか読み取れないもので。 だとしたら、例えば41行目なら   P41セル:=IF(COUNTIF(P41:$P$最下行,"*?")>=5,"",IF($P$14=AS41,AV41,""))   Q41セル:=IF(P41="","",AW41) などとして、必要分コピー(フィル)。 ただし、データ最下行までこれを入れてしまうと循環参照されてしまうので、 最下行だけは   =IF($P$14=AS41,AT41,"") これだけで。 まぁ、1番さんの回答が核心なんだろうなぁ、と思いつつ。

gekikaraou
質問者

お礼

ご回答頂きありがとうございます。 こちらの伝達ミスで誤解を招いてしまった様ですので、新たに質問をさせて頂きました。 よろしければ、そちらを見ていただけるようお願いします。 http://oshiete.goo.ne.jp/qa/7886827.html

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! たびたびごめんなさい。 投稿後、よく画像を見てみると 38行目以降に表示するのですね! そして前回の >・・・隣のR15セルまでコピー・・・ は入力ミスです。 もう一度整理します。 作業列の数式はデータが入っている最初の行(タイトル行は除く)に入力し オートフィルで下へコピー! 仮にデータが13行目からあるとすると =IF(AS13=$Q$14,ROW(),"") という数式になります。 (検索項目のQ14セルは絶対参照です。) 次に38行目以降に表示したいというコトですので、 P38セルに =IF(COUNT($AX:$AX)<6-ROW(A1),"",INDEX(AV:AV,LARGE($AX:$AX,6-ROW(A1)))) という数式を入れ隣のQ38までと5行分下へオートフィルでコピーです! 何度も失礼しました。m(_ _)m

gekikaraou
質問者

お礼

ご回答頂きありがとうございます。 こちらの伝達ミスで誤解を招いてしまった様ですので、新たに質問をさせて頂きました。 よろしければ、そちらを見ていただけるようお願いします。 http://oshiete.goo.ne.jp/qa/7886827.html

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 データは2行目以降にあるとして・・・ 作業用の列を設けます。 仮に作業列をAX列とすると AX2セルに =IF(AS2=$Q$14,ROW(),"") という数式を入れ、フィルハンドルでダブルクリック! (途中に空白がある場合はそこでオートフィルがストップしてしまいますので、最終行までオートフィルでコピー) P15セルに =IF(COUNT($AX:$AX)<6-ROW(A1),"",INDEX(AV:AV,LARGE($AX:$AX,6-ROW(A1)))) という数式を入れ隣のR15セルまでコピー! そのまま下へ5行オートフィルでコピーではどうでしょうか?m(_ _)m

関連するQ&A

  • エクセル2010 同データの検索と関連セルの表示

    エクセル関数に詳しくないので教えて頂けませんか? 画像の様なデータシートがあります。 ■データの場所 U~AD列には、画像の様に10列、8行が一括りになった上書きされる貼り付けデータがあります。 ■任意に入力される場所 B4、D4、F4、H4、J4、L4、N4、P4には、検査機器などの名前が入ります。 ■やりたい事 それでB4~P4に名前が入るとY列からそれと同じものを検索し、 その関連データである行のデータを表示させたいと思います。 また試行回数は10回まで表示させ、10回を超える分のデータは無視していただいて構いませんが、Y列に同じ名称のものがなければひとつ古いデータから抜き出す形になります。 一応、誤解があってはなりませんので、 試行回数1回目の機器A, 機器B 試行回数2回目の機器Aには実際の場所をセル番号で示しました。 また、U~ADのデータは毎回貼り付けられるため、表示データもそれと同時に更新されるものが理想です。 ※ちなみにA2~S2セルは空白ですので、ここは使えます。 これを出来れば関数のみで実現したいと思います。 どなたか詳しいかた、具体的な関数などで教えて頂けませんでしょうか? よろしくお願いいたします。

  • エクセル2010 同じ文字を探し 関連セルを抜出し

    エクセル2010を使っています。 O1セルに入った文字と同じ文字を、A列から検索しM列まであるその行データをPセルの上から順に表示させるにはどうしたら良いでしょうか? わかるかた よろしくお願いいたします。

  • エクセル 文字列検索と検索した文字列が含まれるセルへのジャンプ

    エクセル教えてください。 VBAは使ったことがありません。 現在Q&Aを作っています。 かなりボリュームが増えてしまったので、 文字列検索ができるようにしたいと思っています。 そこで、あるセルに調べたい文字列を入力し、 検索ボタンを押すと、その文字列が含まれるセルにジャンプする。 こんな機能は、エクセルでできませんでしょうか? マクロを組んだりすればよいのでしょうか? 教えてくださいー。

  • エクセルのマクロ(指定列の空白にひとつ上の文字を入力し続ける)

    エクセルのマクロを教えてください。 指定列の空白にひとつ上の文字を入力し続けるマクロです。 A列指定 A2からスタートし、1000行くらいあるデータ 空白があった場合ひとつ上の文字を入力 空白は、2行連続・3行連続となることもあるが大抵は1行空白 この場合、空白セルの上で一番近いデータをコピーする A列のデータは、文字・数字・日付と様々 1000行ある場合もあるが、それ以下の場合もあるので、10行空白が続いたらマクロが自動的に終了 エクセル2003使用 よろしくお願いいたします。

  • エクセルで空白セルにコピーする方法を教えてください

    エクセルのデータ加工について質問です。 A1 60 A16 70 A19 50 というように、全部で1万行以上ふきそくにデータがあり、間の行は空白セルです。 それぞれ空白セル、A2からA15は60、A17からA18には70と上にある数値をコピーしたい時に、どのような数式、またはマクロを作成したらよいでしょうか。 宜しくお願い致します。

  • エクセルで、入力された文字を検索して表示

    よろしくお願いします。 例えば、 「B1~H1 セルのどれかに任意の文字を入力すると、A1セルに同じ文字を表示する」 というようなことをエクセル関数を使って実現可能でしょうか。 VBマクロは使えないものとします。

  • Excel(セルの結合マクロ)

    いつもお世話になっております。 Excelのマクロで、選択範囲の中で、下のセルが空白のものは、上のセルと結合されるマクロを作りたいと考えています。 (例1:A1セルに”TEST”が入力されており、A2,A3セルが空白として、A1:A3を選択し、マクロを実行するとA1からA3がセル結合される  例2:A1に”TEST2”B2に"TEST3"が入力されており、A1:B3を選択すると、A1からA3が結合され、B2とB3も結合される) 説明が下手で申し訳ないのですが、お力を貸していただけませんでしょうか? よろしくお願いいたします。

  • データを検索し関連セルのデータを表示

    エクセル2002を使っています。 画像の様なデータシートがあります。 紫の部分 Q14に 機器A と入力された場合に AR列の機器Aを下から5つ検索し、その関連データを水色の部分に表示させたいと思います。 画像で言えばオレンジの部分のデータを水色の部分に表示させたいです。 (水色の部分は求めたい答えを回答者の方に解りやすく表示させたもので、もともとは空白です) 繰り返しますが、機器Aが5つ以上有った場合下から5つを抜き出します。 この場合、どういった関数を使えばよいでしょうか? よろしくお願いいたします。

  • Excelでのセル操作について

    お世話になります。 以下の2点について、ご教授願います。 【(1)】 エクセルのシート上でセル(A1)をリストにし1~3という数字を選択できるようにしています。 そこで、1を選択した際にはB列を非表示、2を選択した際にはC列を非表示、3の場合はD というようなマクロは組めるのでしょうか? 【(2)】 セル(A1:Z46)をダブルクリックした際に"○"を入力し、 すでに"○"が入力されている場合は空白にする というマクロを組みたいと思っています。  ⇒○を入力する、までは正常にいけたのですが、○が入ってる場合は空白にがうまくいきません。 以上の2点になります、宜しくお願い致します。

  • エクセルのセルでひらがなだけを・・・

    エクセル2000を使っています。 A1のセルに「都道府県(とどうふけん) 丸々市(まるまるし)」と入っていたとしまして、 A2のセルに「とどうふけん まるまるし」と反映させたいです。 これは関数を使って実現可能でしょうか? もし可能なマクロがありましたら、どうか教えてください。 よろしくお願いします。

専門家に質問してみよう