• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数の表を切り替えて抽出する方法について(Excel))

エクセルで複数の表を切り替えて抽出する方法

NNAQの回答

  • ベストアンサー
  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.4

#2のNNAQです。 まだ締められていないようですので、ちょっと追記。 データベース関数があるのを忘れてました。 縦2つのセル(例えばA1,B1)を使って A1に検索列見出し、B1に検索文字列、を入力すれば、 =DGET(表名,"抽出列見出し",A1:B1) これが一番ご要望に近いと思います。 検索列に検索文字列が複数あるとエラーになりますが、 複数列を検索条件に指定できたりとか、けっこう万能ですよ。 まあ、何をもって万能と言うかは状況によりけりでしょうが。 ユーザー定義関数だと、こんな感じでしょうか。 Function DVLOOKUP(表 As Range, 検索列名, 検索値, 抽出列名) Dim c As Integer, cc As Integer, r As Long With 表 For c = 1 To .Columns.Count If .Cells(1, c).Value = 検索列名 Then Exit For Next c If c > .Columns.Count Then GoTo NA For r = 2 To .Rows.Count If .Cells(r, c).Value = 検索値 Then Exit For Next r If r > .Rows.Count Then GoTo NA For cc = 1 To .Columns.Count If .Cells(1, cc).Value = 抽出列名 Then Exit For Next cc If cc > .Columns.Count Then GoTo NA DVLOOKUP = .Cells(r, cc).Value End With Exit Function NA: DVLOOKUP = CVErr(xlErrNA) End Function 考え方は#2,#3と同じです。 セルに=dvlookup(表名又はセル範囲,"検索列名","検索文字列","抽出列名") という感じで入力します。 ただ、これだったらDGET関数の方が良いです(^^; ヒント程度には、なるかな?

vba_minarai
質問者

お礼

重ね重ねご丁寧に貴重な知識をご伝授いただきありがとうございます。抽象的な質問内容にも関わらず、本当にありがとうございます。勉強して、活用させて頂きます。ありがとうございました。

関連するQ&A

  • 複数表から検索値を検索し、検索値の存在した表から結果を求める方法

    ソフトはエクセルの2000です。 やりたいことは、 「複数表から検索値を検索し、検索値の存在した表から値を抽出する方法」もしくは 「A2:H11から検索値を検索し、検索値から○行下の値を抽出する方法」 になると思います。 以下に例を記入します。 下記のように「項目」と「名称」2列で構成された表を下に作成しているとします。       A列   B列    C列   D列   E列    F列   G列   H列 1行 2行 3行   社名 ○○○社       社名 □□□社       社名 ◆◆◆社 4行   場所 ○○○県       場所 □□□県       場所 ◆◆◆県 5行   件名 ○○作業       件名 □□作業       件名 ◆◆作業 6行   担当 ○○○殿       担当 □□□殿       担当 ◆◆◆殿 7行    8行   社名 ×××社       社名 △△△社 9行   場所 ×××県       場所 △△△県 10行   件名 ××作業       件名 △△作業 11行   担当 ×××殿       担当 △△△殿 A1のセルに「△△△社」と社名を入力すると、B1セルに場所の「△△△県」が表示するようにしたいのです。 複数のIF関数で括れば可能だとは思いますが、表の数が制限され、関数式も長くなるためIF関数の使用は控えたいと思っています。 また、マクロを使わない方法でお願いします。 可能なら関数で、関数で不可能なら名前の定義を使用した方法を教えてください。よろしくお願いします。

  • Excel:複数セルからの抽出について

    1行目に「あ」~「お」までの列があり、2行目以降は空白になっている表を作成しました。 この表で「う」の下に「○」が記入された場合、別シートの任意のセルに(ここを1列にしたい)「う」を呼び出すようにすることは可能でしょうか。 if関数で出来かもしれないと考えてみたのですが、煮詰まっています。 よろしくお願いします。

  • 任意のデータを複数抽出するには?

    こんにちは、みなさん。 下記の表をご覧ください。この表の中のA列にある、NO2とNO5の2つのデータを抽出【表示】させる事できますか?例えば、オートフィルラで、NO2だけを抽出する事はできると思います。 任意の複数のNOを抽出するやり方を知りたいです。

  • Excelでの複数データ抽出方法

    Excelで関数を使用して以下のようなデータから 複数のデータ抽出を行いたいのですが可能でしょうか? <sheet1> A列 B列 C列 D列     E列 123456 11 12 13    13 123457 12 13 14    13、14 123158 13 14 15    13,14 123159 14 15 16    14  123160 15 16 17 ※抽出するデータは「13・14」になり、抽出場所は別シートでもかまいません。 過去の質問など参照してみましたがうまく出来ませんでした。 複数の関数を組み合わせでもかまいませんので、お手数おかけしますが よい方法が有ればご教示お願いします。

  • Excelで全シートから検索し列で抽出する方法

    現在Excel2010で作成している表をマクロで検索・抽出したいのですが、 素人のため中々思うように出来なくて困っています。 Sheet2~Sheet4まで作成した表があります。 Sheet1には検索ボタンを作成し、検索ボタンを押すと検索フォーム(ユーザーフォーム)が出てきます。 検索フォームはTextBox1とCommandButton1があります。 ------ここまでは作成済みです-------- ・検索フォームのTextBox1に入力した文字(半角全角英数関係なく)をCommandButton1で検索を行う。 ・そしてその検索結果をSheet1の検索ボタン(セル A~B・1~2)を避けて表からコピーして抽出(複数ある場合は複数抽出)。 ・抽出内容は、検索でヒットしたセルの列全てを抽出(複数ある場合は複数の列が抽出される)。 ・同列に検索した文字が2つある場合も、抽出する列は1つ。 少しややこしいかもしれませんが、上記のようなマクロを作成したいのですが私では力が足りませんでした。 わかりやすく教えていただけると嬉しいです。

  • 【EXCEL関数】違うシートに抽出結果を出したい

    一覧表から「○」の条件が付いたデータのみを別シートに関数で抽出したいです。 フィルタではなく関数を使用したいのは、抽出したデータから名前の定義を使用して リスト表示をさせたいためです。ご教示のほど、宜しくお願いします。 シート1は一覧表となっており、A列に「○」のついたデータのみをシート2に表示 シート1(一覧表)   A  B 1  ○  山田太郎 2  ×  佐藤次郎 3  ○  高橋三郎 4  ×  鈴木四郎 5  ×  中村五郎 シート2(抽出結果を表示させる)   A  B 1  ○  山田太郎 2  ○  高橋三郎 3  4  5 フィルタオプション、当方の考え得る限りの配列関数等、色々試しましたが、 不勉強のために上手く結果が表示されませんでした。 ご教示のほど、宜しくお願い致します。

  • Excelでの複数結果抽出がわかりません

    商品の日毎受注個数の一覧表をExcelで作成しています。 A列には日付 B列にはその日の受注個数 が並んでいます。 そしてB列中の最大値、最小値をE1、E2に関数で表示させています。 B列からE1、E2セル参照で最小値を検索し、隣A列の日付をE1の右隣セルから右方向に並べて複数抽出したいのですが、(該当する日付をすべて表示)どのような関数、マクロを書けば良いでしょうか?

  • Excel2010 複数条件の計算方法

    複数の条件に該当する項目の合計を計算したいのですが、関数の作り方が分かりません・・・ 例えば、A列に文字があってB列に数値が入力されている表があったとして、A列にある項目の中から2つ以上に該当する数値の合計を計算する場合、どのような関数にすれば良いのでしょうか? 例えば、A列に果物の名前(りんご、みかん、ぶどう、メロン・・・)があり、B列にその値段が入っていて、「りんご」と「みかん」と「メロン」の値段の合計を算出するような場合、どのような関数になりますか? 条件がひとつであれば、SUMIF関数を使って計算できるかと思いますが、2つ以上の場合、どのようにすれば良いか分からないのです。 Officeのバージョンは2010です。 ネットで検索してもイマイチ分かりませんでした。どなたか簡単に教えて頂けますでしょうか?

  • ある条件の複数の氏名を別シート抽出

    添付画像のサンプルのような表があるとします。 これを例えば、「契約者リスト」の20XX年Y月の契約に〇が入っている人の名前を全員分、「契約抽出」に抽出する方法はありませんか?関数だけでお願いします。 「契約抽出」の青色のセルに任意の月を入力するとその月のものが抽出されるようにしたいです。 列番号を特定するために3行目と4行目の間に非表示にするテクニックを作ってもかまいません。

  • 複数シートからデータを抽出したい

    教えてください。 複数のシートから同じデータを抽出したいのです。 各々シートの行、列データは等しくない状態となっております。 4行目から○○を検索し、一致するものがあれば”固定のB列”と一致した列を抽出する、をシート2、3と繰り返して統合されたシートを完成させる、という流れにしたいのですが最終行の取得、そこから続きにコピーというイメージまではわかるのですが固定のB列と一致した列を抽出させる方法がわからないのです。 どのような処理で実行できるでしょうか?