• ベストアンサー

Excel 複数行の抽出について

Excel 複数行の抽出について Sheet1に商品リストがあります。 Sheet2に商談IDがあります。 Sheet3にSheet2の商談IDがある商品だけ、抽出したいです。 Excelの関数もしくはマクロで解決できますでしょうか。 ご回答お願いいたします。

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

  • ベストアンサー
回答No.3

たしかに、関連性が見出せませんね 数式で求めてみました Sheet1 A列 商品リスト B列 商談ID Sheet2 A列 商談ID 回答の(理解していただきたい)ために同一シートにします。 E2セルは対象商談IDの個数 =COUNTIF($B$2:$B$10,D2) 下へオートフィル 商談IDを必要数表示させる G2セル =D2 G3セル =IF(SUM($E$2:$E$5)<=ROW(A1),"", IF(INDEX($E$2:$E$5,MATCH(G2,$D$2:$D$5,0))=COUNTIF($G$2:G2,G2), INDEX($D$2:$D$5,MATCH(G2,$D$2:$D$5,0)+1),G2)) 下へオートフィル 求める行を見つける H2セル =MATCH(G2,$B$2:$B$10,0) H3セル =IF(G3="","",IF(G2<>G3,MATCH(G3,$B$2:$B$10,0), MATCH(G3,INDEX($B$2:$B$10,H2+1):$B$10,0)+H2)) 下へオートフィル 商品を表示させる H2セルに =IF(H2="","",INDEX($A$2:$A$10,H2)) 下へオートフィル 添付図参照 参考まで

hyogara777
質問者

お礼

ご回答ありがとうございました。完成図まで掲載して頂き助かります。

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> Sheet1に商品リストがあります。 > Sheet2に商談IDがあります。 > Sheet3にSheet2の商談IDがある商品だけ、抽出したいです。 商品だけのリストとIDだけのリストでは関連付けがわからないのでどうやっても無理です。 Σ( ̄ロ ̄lll) でも、まさかそんな馬鹿な質問ではないと思うのでこちらで勝手に想像した前提で回答します。 Sheet1の商品リスト A列に商品名、B列に「商談ID」(ってなんだろう?) Sheet2の商談ID A列に「商談ID」 (ANo.1の補足によると、別な商品であっても同一IDがある。) Sheet3のA列にヒットした商品名、B列にその商談IDを転記する。 Sub test01()   Dim myW, myX, myY   Dim i As Long, n As Long, j As Long   With Sheets("Sheet1")     myW = .Range("A1", .Cells(Rows.Count, "B").End(xlUp)).Value   End With   With Sheets("Sheet2")     myX = .Range("A1", .Cells(Rows.Count, "A").End(xlUp)).Value   End With   ReDim myY(1 To UBound(myW), 1 To 2)   For i = 1 To UBound(myW)     For n = 1 To UBound(myX)       If myW(i, 2) = myX(n, 1) Then         j = j + 1         myY(j, 1) = myW(i, 1)         myY(j, 2) = myW(i, 2)       End If     Next n   Next i   With Sheets("Sheet3")     .UsedRange.ClearContents     .Range("A1").Resize(j, 2).Value = myY   End With End Sub

hyogara777
質問者

お礼

ご回答ありがとうございました。わかりづらい質問で大変申し訳ありませんでした。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

vlookup関数で、Sheet2の商談IDがある商品だけ抽出してはいかがでしょうか。

hyogara777
質問者

補足

ご回答ありがとうございます。すみません。質問の内容が悪かったです。同じIDでも商品名が異なります。たとえばIDが2でりんごとももがあった場合にはりんごとももの両方の行を抽出したいです。よろしくお願いいたします。

関連するQ&A