• 締切済み

EXCELにて3つの条件を違うシートに抽出したいです。

エクセルで元データ(sheet1)を3つの条件にあったデータを別シート(sheet2)に抽出し、 なおかつ抽出したデータを元データ(sheet1)から消去する方法はありますか? できれば関数でお願いします。 ☆シート1☆※元データ   A B C D 1 氏名 出身 作業 時間 2 鈴木 愛知 1 1.0 3 渡辺 静岡 2 1.5 4 鈴木 愛知 2 2.0 5 松坂 岐阜 3 0.5 6 鈴木 愛知 3 1.0 7 鈴木 愛知 4 1.5 8 森田 三重 2 0.5 ☆シート2☆ A B C D 1 氏名 出身 作業 時間 2 鈴木 愛知 1 1.0 3 鈴木 愛知 2 2.0 4 鈴木 愛知 3 1.0 5 鈴木 愛知 4 1.5 補足 ・シート2の条件として『氏名』と『出身』が同じでなおかつ『作業』の1,2,3,4がある人のみ。 このとき、『作業』が4がある人のみ抽出したいです。 ・抽出したときにシート1に抽出したデータ(例では鈴木)が消えるようにしたいです。 説明が不十分で伝わりにくいとは思いますが、 よろしくお願いします。

みんなの回答

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

Googleで「imogasi方式」で照会してください。沢山条件付抜き出しの質問が出ます。その考えでやれば出来ます。 (1)3条件で抜き出しです 例データ  Sheet1 A-G列 氏名 出身 作業 時間 連結キー 連番1 削除用連番 鈴木 愛知 1 1 鈴木愛知 1 渡辺 静岡 2 1.5 渡辺静岡 2 鈴木 愛知 2 2 鈴木愛知 3 松坂 岐阜 3 0.5 松坂岐阜 4 鈴木 愛知 3 1 鈴木愛知 5 鈴木 愛知 4 1.5 鈴木愛知 1 森田 三重 2 0.5 森田三重 6 渡辺 静岡 4 0.5 渡辺静岡 2 ーーー 作業用列にE列に E2に =A2&B2 下方向に式を複写。 F2に =IF(AND(COUNTIF($E$2:E2,E2)>1,C2=4),MAX($F$1:F1)+1,"") と入れて下方向に式を複写。 G2に =IF(NOT(AND(COUNTIF($E$2:E2,E2)>1,C2=4)),MAX($G$1:G1)+1,"") と入れて下方向に式を複写。 ーーー Sheet2で =INDEX(Sheet1!$A$1:$D$100,MATCH(ROW()-1,Sheet1!$F$1:$F$100,0),COLUMN()) と入れて、D列まで式複写。 A2:D2をSheet1のF列の最大数行だけ式複写 結果 鈴木 愛知 4 1.5 渡辺 静岡 4 0.5 ーー 削除は Sheet3に A2に =INDEX(Sheet1!$A$1:$D$100,MATCH(ROW()-1,Sheet1!$G$1:$G$100,0),COLUMN()) 結果 鈴木 愛知 1 1 渡辺 静岡 2 1.5 鈴木 愛知 2 2 松坂 岐阜 3 0.5 鈴木 愛知 3 1 森田 三重 2 0.5 ーーー 削除==>除いたものを別シートに移す 抽出==>条件に合うものを別シートに移す という考えをしないと、直接にSheet1で行削除を関数で出来るわけがありません。 関数は自分以外のセルの値を加工できるだけです。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

関数で値を削除できないので、出来ません オートフィルタで抽出して 編集-ジャンプ-セル選択-可視セルで セル選択-シート2へコピペ シート1に戻って-削除