• ベストアンサー

複数セルから特定の文字を検索して、その対象セルを抽出したい

エクセルで関数、VBAを使用して、下記のようなDATA抽出を行ないたいのですが、どなたか、ご指導いただけないでしょうか。 たとえば、2種のシートが、各々、 <シート1>   列A   列B 行1 A1 ABCD-123 行2 B23 EFGH-456 行3 C456 あいうえお <シート2> 列A 列B 列C  列D  列E 行1 A1 A2 A3 行2 B23 C5 A4 行3 A5 B2 C456 ・・・・・・・となっている場合、 <シート2> の列D  行1 へ "A1"と入力(記載)がある場合、列Eに   ”ABCD-123”と表示(抽出)を行ないたい。 セルには、文字、数字、記号が入ります。 よろしくお願い致します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

VBAでなくてもINDIRECT関数で出るでしょう。 例 Sheet3 A列   B列 A1 ABCD-123 B23 EFGH-456 C456 あいうえお ーー Sheet4において D列にデータは下記とする。 D列   E列 A1 ABCD-123 A3 あいうえお E1は =INDEX(Sheet3!$B$1:$B$100,ROW(INDIRECT("Sheet3!"&D1))) と入れて下方向に式を下方向に複写する。 ーー これではないかも、とも思うが、質問表現が不完全で、列Eに出すロジックが(質問には1例だけ書いてあって)文章で以ってポイントを書いてないからこうなる。

その他の回答 (1)

  • PoohBee
  • ベストアンサー率28% (25/88)
回答No.1

こんばんは。PoohBee@エンジニアです。 やり方は種々あるとおもいますが、思いついた感じだと…。 1)シート1の入力行最終行を取得 2)シート1の1行目から1)の取得値までループして、A,B列の値を多次元配列に格納 3)シート2のD列に2)で取得した1次元配列の値を、E列に2次元配列の値を1)の取得値までループしながら出力 こんな感じかな~。実装時の参考になれば幸いです。

関連するQ&A