Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4731 / 76732 ←次へ | 前へ→

【77617】Re:マクロ化の検討
回答  独覚  - 15/11/10(火) 17:32 -

引用なし
パスワード
   ▼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に貼り付け、データ-重複の削除を行う方法もあります。

1 hits

【77616】マクロ化の検討 VBAビギナー 15/11/10(火) 15:58 質問[未読]
【77617】Re:マクロ化の検討 独覚 15/11/10(火) 17:32 回答[未読]
【77618】Re:マクロ化の検討 独覚 15/11/10(火) 17:34 発言[未読]
【77621】Re:マクロ化の検討 VBAビギナー 15/11/11(水) 8:36 お礼[未読]
【77619】Re:マクロ化の検討 β 15/11/10(火) 19:49 発言[未読]
【77622】Re:マクロ化の検討 VBAビギナー 15/11/11(水) 8:40 回答[未読]

4731 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free