• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HLOOKUPでもVLOOKUPでもなくて、それに似た関数はありますか)

エクセルで特定の文字列を含む行を検索する方法

KURUMITOの回答

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

重複のデータがたくさん含まれていても対応できます。 シート1やシート2、シート3ではいずれも2行まから下方にデータがあるとします。 シート1ではD列を作業列としてD2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",B2&COUNTIF(B$2:B2,B2)) シート2でも作業列を作ります。 B2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",COUNTIF(Sheet1!B:B,A2)) さらに、C1セルには0を入力して、C2セルには次の式を入力して下方いオートフィルドラッグします。 =IF(B2="","",SUM(B$2:B2)) シート3はお求めの表になりますがA1セルには何かの表題などを入力してください。A1セルには必ず文字列が入力されていることが必要です。その上でA2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet2!$C:$C),"",INDEX(Sheet1!$A:$C,MATCH(INDIRECT("Sheet2!A"&MATCH(ROW(A1)-1,Sheet2!$C:$C,1)+1)&ROW(A1)-COUNTA($A$1:$A1)+1,Sheet1!$D:$D,0),COLUMN(A1))) これでシート2のA列に入力されているデータについて、シート1のB列で一致する行がすべて表示されることになります。

関連するQ&A

  • vlookup関数とHlookup関数の組み合わせ

    Excelの関数で、HLOOKUPやVLOOKUPがありますが、この 2つの関数を合わせた様な感じで、列の値と行の値の 2条件がマッチした値を別シートに作成した集計表から 取得させたいですがどの様にすればよいでしょうか。 質問が分かりにくいですがどうぞよろしくお願い致します。

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • VLOOKUP関数で左端より左の表示

    エクセルのデーター表でC列に会社名が入っていてF列に担当名が入っているがあります。 別のシートで会社名を入れると担当名が表示されるようにVLOOKUP関数を使用しています。 また別のシートで担当名を入れると会社名が表示されるようにしたいのですがどうしたら良いでしょうか? VLOOKUPではできなくて困ってます。 F列の担当名は所々空白があります、そのためかLOOKUP関数を使ってみましたがうまくいきません。

  • HLOOKUP関数のコピーについて

    初歩的な質問ですが、教えて下さい。 別シート上に存在するデータを、行ごとに一つのシートに反映したいと考えています。 関数の書式=HLOOKUP(F2,納品数!B$6:AO$300,2,0) などと定義して使用する場合、上記関数を同列下方に、オートフィルにてコピーしたいのです。 そのさい   1列目 関数  =HLOOKUP(F2,納品数!B$6:AO$300,2,0) 2列目 関数  =HLOOKUP(F2,納品数!B$6:AO$300,3,0) のように、「AO$300,2,0 の 2 を 3 へと加算してコピーしたいのですが普通に下方コピーすると 1列目 関数  =HLOOKUP(F2,納品数!B$6:AO$300,2,0) 2列目 関数  =HLOOKUP(F2,納品数!B$6:AO$300,2,0) となってしまい「AO$300,2,0」が「AO$300,2,0」のまま変化せず同じ値しか反映できません。 「AO$300,2,0」を「AO$300,3,0」に加算コピーする方法を教えて頂けないでしょうか。 分かりずらい説明で恐縮です。 宜しくお願い致します。

  • VLOOKUP関数について

    BとC列に抽出表があり検索範囲データがEとF、HとI列の2グループに分かれています。 VLOOKUP関数を使って検索範囲が2つのグループに分かれている場合の計算式を教えてください。 VLOOKUP関数以外でも出来る方法があれば教えてください。

  • VLOOKUP関数について

    現在、Excelで 『検索キーワード』 のランキング表を作成しております。 月ごとに別シートに、1位から順番に検索キーワードと検索回数を並べて表示していますが、 (A列に順位、B列に検索キーワード、C列に検索回数) 数か月分を1つのシートにまとめて表示するための関数を教えていただけますでしょうか。 (A列に順位、B列に検索キーワード、C列に検索回数3月分、D列に検索回数2月分、E列に検索回数1月分) なお検索キーワードの検索回数や順位は、月ごとに異なっております。 どうやらVLOOKUP関数を利用するところまでは分かったのですが、記述方法が不明なため質問させていただきました。 どうぞよろしくお願いいたします。

  • セルの結合がされた表をHLOOKUPで検索する場合について

    Excel初心者です。質問があります。 下記のような表があります       A列   B列   C列   D列 行番号1    12/1       1/1 行番号2  件数   金額  件数   金額    行番号3   2    100   3    200 行番号5   1/1 ここでHlookupを使って下記のように検索します A5に1/1と入力して 件数を検索するには   =HLOOKUP(A5,A1:D3,3) → 3 ここまではいいのですが 金額の「200」を検索するにはどのような関数を使えばよいのでしょうか? ※行番号1の「12/1」と「1/1」はセルの結合をしており 「12/1」のセルはA1、「1/1」のセルはC1になっています。 HLOOKUP関数とVLOOKUP関数又はCOLUMN関数を組み合わせれば出来るのでしょうか よろしくお願いします。

  • VLOOKUP関数についての質問です。

    VLOOKUP関数についての質問です。 例えば、シート1に、 A列    B列  C列 番号  品物  送り先 1   ばなな スーパー 2   ミカン 学校 3   イチゴ ケーキ店  あるとします。 VLOOKUP関数を用いて、 シート2に A列    B列 送り先  品物 ・   ・ ・   ・ ・   ・ とそれぞれ入力したいとして、以下のセルも同様の式を使い入力しますが いちいち式を立てて入力していくと大変です。 セルにVLOOKUP関数をコピーして使うにはどうしたらいいですか?? お願いします。

  • エクセルの関数VLOOKUPについて教えて下さい。

    エクセルの関数VLOOKUPについて教えて下さい。 範囲にあたるデーター部分が3つのかたまりに分かれている時どのような数式で表すことができますか? 具体的には、HIJ KLM OPQの列位置にある3つの表の中から検索したいのです。 作った数式は1つの表から検索するもので =IF(C9="","",IF(ISNA(VLOOKUP(C9,材料一覧!$H$5:$J$54,2,FALSE)),"未登録",VLOOKUP(C9,材料一覧!$H$5:$J$54,2,FALSE))) です。(C9,材料一覧!$H$5:$J$54,2,FALSE)の後に&(同じ数式で列文字を入れ替えて)で繋げてみました。列範囲KLMの表は上手くいったのですが、3つ目のOPQの表は上手くいきませんでした。 原因と正しい数式を教えて下さい。 よろしくお願いいたします。

  • IFとVLOOKUP関数

    VLOOKUP関数を使って検索結果を出そうと思いましたが、 データ量が93000行X8列になりますので、 共通分けして複数のシート(A、B、C、D)に分けました。 あるセルに『A』と入れると『シートA』の表から検索を行う、 あるセルに『B』と入れると『シートB』の表から検索するといった感じにするには、 IFとVLOOKUPを使用するなら、どのような式を入れたらいいのでしょうか? また、他の関数を使う式があるのでしょうか? マクロやVBAも考えましたが、 あまり知識がありません。 データ量から考えると マクロやVBAで行った方がいいのでしょうか?