[[20190606143759]] 『データの抽出について』(akairo) ページの最後に飛ぶ

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

 

『データの抽出について』(akairo)

データの抽出について質問させてください。

関数を組み合わせればできそうかもしれないのですが、
全く方法が思いつきませんでした。

店 番号
A店 0000000000001
B店 0000000000001
C店 0000000000001
A店 0000000000002
B店 0000000000002
C店 0000000000002
A店 0000000000003
B店 0000000000003
A店 0000000000004
B店 0000000000004
C店 0000000000004
A店 0000000000005
B店 0000000000005
C店 0000000000005
A店 0000000000006
B店 0000000000006
B店 0000000000007
C店 0000000000007
A店 0000000000008
B店 0000000000008
A店 0000000000009
B店 0000000000009
A店 0000000000010
B店 0000000000010
C店 0000000000010
B店 0000000000011
C店 0000000000011
B店 0000000000012
C店 0000000000012
A店 0000000000013
C店 0000000000013

※仕事で使用するデータのため加工しております。

抽出したいデータですが、
0000000000007、0000000000011の重複のように、B店とC店でのみ番号が重複している列を抽出する

A店が重複に含まれていたら削除するという方法でも問題ありません

手作業で探すにはとても無理があるデータ量です
どなたか、ご協力をお願いいたします

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


 B店のみ、C店のみの場合はどうするのだろうか?
(ねむねむ) 2019/06/06(木) 14:58

ねむねむさん

大元のデータがあり、関数を使って重複データと重複していないデータに既に分けております。
なので、今回質問させていただいているデータは番号が重複しているものしかありません。
(akairo) 2019/06/06(木) 15:03


重複があるものだけだとすると、ありなしパターンは以下の4種類かと思います。 どのパターンなら消したいのかを明らかにしてください。

Aあり Bあり Cあり →Aを消したいのはこのパターンだけ?
Aあり Bあり Cなし
Aあり Bなし Cあり
Aなし Bあり Cあり

もし、消したいのが1番目のパターンだけならば、作業列に「=COUNTIF(B:B,B2)」という数式を書いて、オートフィルタでもかけてから、これが 3 である行だけ表示。 行範囲指定して削除すれば良いでしょう。
(???) 2019/06/06(木) 15:14


 A列が店名、B列が番号、1行目が見出しとする。
 C列を作業列として使う。
 C1セルに
 =IF(OR(COUNTIF(B$2:B2,B2)>1,COUNTIFS(A:A,"A店",B:B,B2)),"",ROW())
 と入力して下へフィルコピー。
 その後、抜き出したいセルに
 =IFERROR(INDEX(B:B,SMALL(C:C,ROW(A1))),"")
 と入力して下へフィルコピーしてみてくれ。
(ねむねむ) 2019/06/06(木) 15:18

 ???さん、
 >B店とC店でのみ番号が重複している列を抽出する 
 >A店が重複に含まれていたら削除するという方法でも問題ありません 
 とあるが。

(ねむねむ) 2019/06/06(木) 15:19


???さん

Aなし、Bあり、Cあり
このパターンのみ抽出したいです
(akairo) 2019/06/06(木) 15:31


ねむねむさん

「その後、抜き出したいセルに

 =IFERROR(INDEX(B:B,SMALL(C:C,ROW(A1))),"")
 と入力して下へフィルコピー」
これは、D列に入力すればよろしいでしょうか?

やってみたのですが、上手くいった様子ではないのです…
(akairo) 2019/06/06(木) 15:35


 >これは、D列に入力すればよろしいでしょうか?
 これは好きなところで。
 うまくいかないというのはどのような状況になっているのだろうか?
(ねむねむ) 2019/06/06(木) 15:38

店 番号
A店 0000000000001 7
B店 0000000000001 11
C店 0000000000001 12
A店 0000000000002
B店 0000000000002
C店 0000000000002
A店 0000000000003
B店 0000000000003
A店 0000000000004
B店 0000000000004
C店 0000000000004
A店 0000000000005
B店 0000000000005
C店 0000000000005
A店 0000000000006
B店 0000000000006
B店 0000000000007 18
C店 0000000000007
A店 0000000000008
B店 0000000000008
A店 0000000000009
B店 0000000000009
A店 0000000000010
B店 0000000000010
C店 0000000000010
B店 0000000000011 27
C店 0000000000011
B店 0000000000012 29
C店 0000000000012
A店 0000000000013
C店 0000000000013

=IF(OR(COUNTIF(B$2:B2,B2)>1,COUNTIFS(A:A,"A店",B:B,B2)),"",ROW())をC2に(C1と書かれておりましたが、C2のことではないかと解釈しております)入力し、フィルコピー

=IFERROR(INDEX(B:B,SMALL(C:C,ROW(A1))),"")をD2に入力し、フィルコピー

このように入力・操作した結果です。

(akairo) 2019/06/06(木) 15:48


 >C1と書かれておりましたが、C2のことではないかと解釈しております
 すまない、その通りだ。
 で、チェックのため、C2セルに
 =ROW()
 と入力して下へフィルコピーするとどういう結果になるか試してみてもらえないか?

(ねむねむ) 2019/06/06(木) 15:58


 すまない。
 スペースが詰まっていたので7、11、12がC列に表示されたものだと思ってしまった。
 D列に7、11、12と表示されるということはB列の実際の値は数値で表示形式で前方の0が
 表示されているのではないだろうか?
(ねむねむ) 2019/06/06(木) 16:05

 > 0000000000007、0000000000011の重複のように、B店とC店でのみ番号が重複している列を抽出する 
ここを読んで、Aなし、Bあり、Cありの行を残すのかな、とは思ったのですが…。

 > A店が重複に含まれていたら削除するという方法でも問題ありません
こっちも読むと、Aあり、Bあり、Cありの場合にAの行を削除したい、というのが最終目的?、と思ったもので。 どうやら、削除する意味がなさそうですね。

で、ねむねむさんが該当する番号をD列に列挙する式を書いているので、私は該当する行に○を付ける式なぞ書いてみます。 実は店は3店じゃなくて…、とかの場合、意味ないですが。

 E2: =IF(COUNTIFS(A:A,"A店",B:B,B2)=0,IF(COUNTIFS(A:A,"B店",B:B,B2)+COUNTIFS(A:A,"C店",B:B,B2)=2,"○",""),"")
(???) 2019/06/06(木) 16:24

ねむねむさん

スペースが詰まることを考慮しておりませんでした。

「D列に7、11、12と表示されるということはB列の実際の値は数値で表示形式で前方の0が

 表示されているのではないだろうか?」
おっしゃる通りです。
記載しておりませんでしたが、B列はユーザー定義で0000000000000としております。

定義を標準にして入力しなおしましたが、変化ありませんでした。
(akairo) 2019/06/06(木) 16:28


 D列の表示形式も0000000000000とするか、B列の表示形式を文字列にしてからB列を
 入れなおすかどちらかでやってみてくれ。
(ねむねむ) 2019/06/06(木) 16:36

???さん、〇でフィルターをかけて行を抽出できました。
ありがとうございます。

店の数は3店舗です。
お気遣いありがとうございます。

(akairo) 2019/06/06(木) 16:47


ねむねむさん

ようやくお教えいただいたことが形にできました。
ありがとうございます。
(akairo) 2019/06/06(木) 16:49


コメント返信:

[ 一覧(最新更新順) ]


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