- ベストアンサー
重複するデータの抽出について(エクセル)
エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば A列 B列 C列 D列 E列・・・ 1 色 1回目 2回目 3回目 4回目 2 赤 あ a A 0 3 白 い b B 1 4 黄 う c C 2 5 黄 え d D 3 6 黒 お e E 4 7 赤 か f F 5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
数日に1回ぐらい出るFAQです。 例データ F1セルに、その時どきの条件の「赤」を入れる約束にします。下記では赤にしてます。 色 1回目 2回目 3回目 4回目 赤 赤 あ a A 0 1 白 い b B 1 1 黄 う c C 2 1 黄 え d D 3 1 黒 お e E 4 1 赤 か f F 5 2 黒 う e E 5 2 赤 さ g H 7 3 F列は作業列とし、 式は=COUNTIF($A$1:A2,$F$1) と入れて下方向に式を複写します。 結果 上記F列の通り。 Sheet2に行って、 第1行は見出しとして 色 1回目 2回目 3回目 4回目 を入れます。 A2に式 =INDEX(Sheet1!$A$1:$G$100,MATCH(ROW()-1,Sheet1!$F$1:$F$100,0),COLUMN()) と入れて、右方向に式を複写します。 A2:E2を範囲指定して、+ハンドルを出し、下方向に引っ張ります。 結果 色 1回目 2回目 3回目 4回目 赤 あ a A 0 赤 か f F 5 赤 さ g H 7 #N/A #N/A #N/A #N/A #N/A 条件に該当行すうより多い行に複写すると上記の#N/Aガ出ますが、 出ないようには =IF(ROW()-1>MAX(Sheet1!$F$2:$F$100),"",INDEX(Sheet1!$A$1:$G$100,MATCH(ROW()-1,Sheet1!$F$1:$F$100,0),COLUMN())) のようにIF関数を使い前部にROW()-1>MAX(Sheet1!$F$2:$F$100) を噛まします。 式中に100という行数字が出るところは、実際のデータの行数より 少し多めに修正してください。
その他の回答 (1)
- maron--5
- ベストアンサー率36% (321/877)
◆ご希望のとおり一つのセルに「A・F」と表示はされませんが、こんな方法はいかがでしょうか? ◆Sheet1 A B C D E F G 1 色 1回目 2回目 3回目 4回目 (作業列) 2 赤 あ a A 0 2・・・(Sheet2のA1が赤の場合) 3 白 い b B 1 4 黄 う c C 2 5 黄 え d D 3 6 黒 お e E 4 7 赤 か f F 5 7・・・(Sheet2のA1が赤の場合) ◆Sheet2 A B C D 1 赤 A F ◆Sheet1の作業列の式 G2=IF(Sheet2!$A$1=A2,ROW(),"") ★下にコピー ◆Sheet2の式 B1=IF(COLUMN(A1)>COUNTIF(Sheet1!$A:$A,$A1),"",INDEX(Sheet1!$D:$D,SMALL(Sheet1!$G:$G,COLUMN(A1)))) ★右にコピー
お礼
出来ました ありがとうございました
お礼
大変参考になりました ありがとうございました。