目を通していただきありがとうございます。
エクセルは全く詳しくないため、質問させていただきます。
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.1
- 回答日時:
Excelなら以下のような一般機能を利用した操作でご希望のデータを抽出することができます。
リストのD列とE列を入れ替え(列範囲を選択してShiftキーを押しながらドラッグ)、A,B,C,E,Dれ鵜の順に並べ替えます。
次に項目を含めたSheet1のA~D列のデータ範囲を選択して、データタブの「詳細設定」をクリックして、この範囲がリスト範囲に登録されていることを確認して、検索条件範囲にSheet2のA~D列のデータ範囲を選択し「OK」すれば、必要なデータだけが抽出されていますので、その範囲を選択して別シートにコピーします。
最後にD列とE列を入れ替えれば完成です。
#Excelなら関数(配列数式)を使えば、ご希望のデータを表示することができますが、表示データ数が多くなるとシートの動きが重くなるのであまりお勧めできません。
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.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までも回答に載せていただき、非常に助かりました。
仕事時間の短縮にもつながりそうです。
本当にお世話になりました。
お探しの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で半角の文字を含むセルを...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 文字数 多い順 並...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
重複行を削除して数値を合算し...
-
エクセルの並び変えで、空白セ...
-
EXCELで 一桁の数値を二桁に
-
基準日よりも古い日付の列を削...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報