- ベストアンサー
複数セルから特定の文字を検索して、その対象セルを抽出したい
エクセルで関数、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”と表示(抽出)を行ないたい。 セルには、文字、数字、記号が入ります。 よろしくお願い致します。
- みんなの回答 (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)
こんばんは。PoohBee@エンジニアです。 やり方は種々あるとおもいますが、思いついた感じだと…。 1)シート1の入力行最終行を取得 2)シート1の1行目から1)の取得値までループして、A,B列の値を多次元配列に格納 3)シート2のD列に2)で取得した1次元配列の値を、E列に2次元配列の値を1)の取得値までループしながら出力 こんな感じかな~。実装時の参考になれば幸いです。