[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『重複したデータの抽出の仕方教えてください』(りんとん)
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 >
元データが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.