[[20180313110243]] 『重複したデータの抽出の仕方教えてください』(りんとん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『重複したデータの抽出の仕方教えてください』(りんとん)

20000行あるデータから、重複したデータを検出して表示したいです。

列はコード、名前、単価1、単価2、単価3となっていて下の内容が入っています。

001-みかん-1000-0-0
001-みかん-0-200-0
001-みかん-250-0-100
002-りんご-0-100-110
002-りんご-300-200-0
003-ぶどう-0-0-100
003-ぶどう-0-100-100
003-ぶどう-200-200-100
003-ぶどう-300-0-0

抽出したいものは、

001-みかん-単価....(1000-200-250-100)
002-りんご-単価....(100-110-300-200)
003-ぶどう-単価....(100-200-300)

というように別シートに名前の横に0と同じ金額以外の単価を全部表示させたいです。
宜しくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


列はAからE列(Aコード、B名前、C単価1、D単価2、E単価3)の5列を使用しているのか?
あるいはA列のみにハイフン区切りで入力されているのか?
(mm) 2018/03/13(火) 13:20

Aから5列を使用しています。
宜しくお願いします。
(りんとん) 2018/03/13(火) 13:52

 元データがSheet1にあり、抽出先はA列がコード、B列が名前、C列が単価という文字でこれらは手入力するものとする。
 また、20000行の場合、重たくて実用にならないかもしれない。
(ねむねむ) 2018/03/13(火) 14:16

 抽出先のD1セルに
 =IFERROR(MIN(IF((Sheet1!B$1:B$20000=$B1)*(Sheet1!$C$1:$E$20000>0),Sheet1!$C$1:$E$20000,"")),"")
 と入力してShiftとCtrlキーを押しながらEnterキーで式を確定する。(確定後、式が{}で囲まれればOK)
(ねむねむ) 2018/03/13(火) 14:17

 同じようにE1セルに
 =IFERROR(SMALL(IF((Sheet1!$B$1:$B$20000=$B1)*(Sheet1!$C$1:$E$20000>0),Sheet1!$C$1:$E$20000,""),SUM((IF((Sheet1!$B$1:$B$20000=$B1)*(Sheet1!$C$1:$E$20000>0),Sheet1!$C$1:$E$20000,"")<=D1)*1)+1),"")
 と入力してShiftとCtrlキーを押しながらEnterキーで式を確定する。(確定後、式が{}で囲まれればOK)
(ねむねむ) 2018/03/13(火) 14:18

 入力したらD1セルは下にフィルコピー、E1セルは右及び下へフィルコピー。
(ねむねむ) 2018/03/13(火) 14:19

 なお、並び順は出現順ではなく値の昇順になる。
(ねむねむ) 2018/03/13(火) 14:20

ねむねむ様

ありがとうございました。解決致しました。
(りんとん) 2018/03/13(火) 16:05


 E1セルの式は
 =IFERROR(SMALL(IF((Sheet1!$B$1:$B$20000=$B1),Sheet1!$C$1:$E$20000,""),SUM((IF((Sheet1!$B$1:$B$20000=$B1),Sheet1!$C$1:$E$20000,"")<=D1)*1)+1),"")
 でも構わないか。
 (Shift+Ctrl+Enterは忘れずに)
(ねむねむ) 2018/03/13(火) 16:58

 余計なカッコがついたままだった。
 =IFERROR(SMALL(IF((Sheet1!$B$1:$B$20000=$B1),Sheet1!$C$1:$E$20000,""),SUM((IF(Sheet1!$B$1:$B$20000=$B1,Sheet1!$C$1:$E$20000,"")<=D1)*1)+1),"")
(ねむねむ) 2018/03/13(火) 17:18

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.