|
▼VBAビギナー さん:
全てワークシート関数で行う場合です。
また、バージョンは2007以降でレイアウトは以下とします。
Sheet1
A B C
1 製品 重量 糖度
2 みかんA 10 10
〜
Sheet2
A B C
1 製品 重量 糖度
2 みかんA 12 ok
〜
Sheet2のA2セルに
=IFERROR(INDEX(Sheet1!A$2:A$100,SMALL(IF(FREQUENCY(IFERROR(MATCH(Sheet1!
A$2:A$100,Sheet1!A$2:A$100,0),""),ROW($1:$100)),ROW($1:$100),""),ROW(A1))),"")
B2セルに
=IF(A2="","",MIN(IF(Sheet1!A$2:A$100=A2,Sheet1!B$2:B$100,"")))
C2セルに
=IF(A2="","",IF(COUNT(0/FREQUENCY(IF(Sheet1!A$2:A$100=A2,Sheet1!C$2:C$100,""),Sheet1!C$2:C$100))=1,"○","×"))
と入力し、三つとも式の確定時にShift+Ctrl+Enterで式を確定してください。
式の確定後、式が{}で囲まれます。
その後下へフィルコピーしてください。
なお、Sheet1のデータが最大100行目までに対応しています。
100行以上ある場合は各式の「$100」部分全てを同じ値で大きくしてください。
それとA2セルの「ROW($1:$100)」部分は必ず1から最大行数までとしてください。
なお、Sheet2のA列は式で行わずにSheet1のA列をSheet2に貼り付け、データ-重複の削除を行う方法もあります。
|
|