目を通していただきありがとうございます。
エクセルは全く詳しくないため、質問させていただきます。
sheet1とsheet2に各2000行ほどの表があります。
sheet1
A列(商品) B列(産地) C列(定価) D列(特価) E列(数量)
みかん 愛媛 100 80 500
みかん 静岡 120 85 400
オレンジ アメリカ 150 90 100
sheet2
A列(商品) B列(産地) C列(定価) D列(特価) E列(数量)
みかん 愛媛 100 80 300
オレンジ アメリカ 150 100 100
いちご 福岡 300 150 100
みかん 静岡 120 70 400
それぞれ「1行目のみかん」はA~D列まで同じ値で、E列のみの違いですので、
抽出の必要はありません。
sheet2の3行目のいちごはsheet1にはありませんので、これも抽出の必要はありません。
sheet1の2行目とsheet2の4行目のみかん、
sheet1の3行目とsheet2の2行目のオレンジ、はD列(特価)の違いがあります。
この<D列のみ違いがある>ものを行単位でsheet3に抽出したいのですが、
何か良い方法(関数等)がありましたら、教えていただけないでしょうか?
なお、表題に「エクセル」と書きましたが、実際はKingsoftのSpreadsheets 2012を使用しています。
基本的な関数でしたらそのまま使えるようですので、エクセルとして書かせていただきました。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
今仮に、Sheet4のA列とB列を作業列として使用するものとします。
まず、Sheet4のA2セルに次の関数を入力して下さい。
=IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIFS(Sheet2!$A:$A,INDEX(Sheet1!$A:$A,ROW()),Sheet2!$B:$B,INDEX(Sheet1!$B:$B,ROW()),Sheet2!$C:$C,INDEX(Sheet1!$C:$C,ROW()),Sheet2!$D:$D,"<>"&INDEX(Sheet1!$D:$D,ROW()),Sheet2!$E:$E,INDEX(Sheet1!$E:$E,ROW())),10000000+ROW(),""))
次に、Sheet4のB2セルに次の関数を入力して下さい。
=IF(INDEX(Sheet2!$A:$A,ROW())="","",IF(COUNTIFS(Sheet1!$A:$A,INDEX(Sheet2!$A:$A,ROW()),Sheet1!$B:$B,INDEX(Sheet2!$B:$B,ROW()),Sheet1!$C:$C,INDEX(Sheet2!$C:$C,ROW()),Sheet1!$D:$D,"<>"&INDEX(Sheet2!$D:$D,ROW()),Sheet1!$E:$E,INDEX(Sheet2!$E:$E,ROW())),20000000+ROW(),""))
次に、Sheet4のA2~B2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。
次に、Sheet3のA2セルに次の関数を入力して下さい。
=IF(ROWS($2:2)>COUNT(Sheet4!$A:$B),"",INDEX(CHOOSE(INT(SMALL(Sheet4!$A:$B,ROWS($2:2))/10000000),Sheet1!$A:$E,Sheet2!$A:$E),MOD(SMALL(Sheet4!$A:$B,ROWS($2:2)),10000000),COLUMNS($A:A)))
次に、Sheet3のA2セルをコピーして、Sheet3のB2~E2の範囲に貼り付けて下さい。
次に、Sheet3のA2~E2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。
これで、<D列のみ違いがある>データのみが、Sheet3に抽出されます。
丁寧な回答ありがとうございました。
sheet1~4までも回答に載せていただき、非常に助かりました。
仕事時間の短縮にもつながりそうです。
本当にお世話になりました。
No.4
- 回答日時:
Sheet2のデータをSheet1にマッチングして、
マッチングした結果を別シートに表示することですね。
アドインを使って、Excelでデータのマッチングができます。
データ1、データ2を選択して、マッチング条件でA,B、C、D列を選択すれば
一括でできます。
No.2
- 回答日時:
No1の回答の補足です。
No1の回答はすべての列が一致するデータも抽出してしまいますので、D列だけ一致しないデータを抽出したいなら以下のような関数が簡単です(Excel2007以降のバージョン)。
Sheet1のF列(F2セル)に以下の式を入力してオートフィルコピーしてください。
この列で「1」が返る行が該当データですので、オートフィルタでこの行データを絞り込んで、新規シートにコピー貼り付けしてください。
=COUNTIFS(Sheet2!A:A,A2,Sheet2!B:B,B2,Sheet2!C:C,C2,Sheet2!D:D,"<>"&D2,Sheet2!E:E,E2)
No.1
- 回答日時:
Excelなら以下のような一般機能を利用した操作でご希望のデータを抽出することができます。
リストのD列とE列を入れ替え(列範囲を選択してShiftキーを押しながらドラッグ)、A,B,C,E,Dれ鵜の順に並べ替えます。
次に項目を含めたSheet1のA~D列のデータ範囲を選択して、データタブの「詳細設定」をクリックして、この範囲がリスト範囲に登録されていることを確認して、検索条件範囲にSheet2のA~D列のデータ範囲を選択し「OK」すれば、必要なデータだけが抽出されていますので、その範囲を選択して別シートにコピーします。
最後にD列とE列を入れ替えれば完成です。
#Excelなら関数(配列数式)を使えば、ご希望のデータを表示することができますが、表示データ数が多くなるとシートの動きが重くなるのであまりお勧めできません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- Excel(エクセル) エクセルでのコピーペースト 6 2022/09/03 07:14
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
【VBA】特定列に文字が入ってい...
-
2つのエクセルのデータを同じよ...
-
エクセルで一行毎、一枚づつ自...
-
エクセルで文字が混じった数字...
-
EXCELで 一桁の数値を二桁に
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
Excelで半角の文字を含むセルを...
-
エクセルのセル内の文字の一部...
-
A列がない・・・A列が非表示に...
-
Excel、市から登録している住所...
-
お店に入るために行列に並んで...
-
エクセルで一列おきに空白列を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
-
エクセルで、列の空欄に隣の列...
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
50人を数回、グループ分けする...
おすすめ情報