- ベストアンサー
Excelでのデータ取り出し
こんにちは。Excelでのデータ取り出しで質問があります。 【Excel】 区分1 区分2 コード 1 2 AB10001 1 2 CD10003 1 2 CD10002 1 2 AB10004 このようなデータがあった場合に、コードの左2桁が同じデータが複数あった場合、若いコードを取り出したいのです。 このデータの場合、「AB10001」と「CD10002」が取り出したいです。 このようなデータがたくさんあった場合、関数で取り出すことは可能 でしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1です。追加質問にお答えします。 ソート(並べ替え)というのはデータの横のつながり(区分1,2とコードの組み合わせ)を崩さずに、データ中のある要素(キー、例では区分)がABC順あるいは数字順に並ぶように整理することを意味します。 「C列をキーにしてソートする」とは、区分とコードのひも付けを崩さずに、コードが順番に並ぶように整理するということです。 C列のみを選択してソートを行うと、A列、B列との関連付けが崩れてしまいます。(コードの区分1、2が分からなくなってしまいます。) ですからデータ全体(例の場合はA、B、C列のデータが入っている全行)を選択して、メニューバーから「データー並び替え」を実行します。 すると別ウィンドウが表れて、キーの指定が出来ます。 ここで最優先されるキーにC列を指定します。降順(zyx順)ではなく昇順(ABC順)を指定します。
その他の回答 (3)
「関数で取り出すこと」をお望みなので、此れは別解です。 [ピボットテーブルレポート](ピボテ)の機能を利用する方法です。尤も、作業列D、Eの準備が必要になります。 結果だけを示しておきます。G、H列がピボテで得たものです。 A B C D E F G H 1 区分1 区分2 コード code1 code2 最小値/code2 2 1 2 AB10001 AB 10001 code1 合計 3 1 2 CD10003 CD 10003 AB 10001 4 1 2 CD10002 CD 10002 CD 10002 5 1 2 AB10004 AB 10004 6 D2: =LEFT(C2,2) E2: =SUBSTITUTE(C2,D2,"")*1
お礼
回答ありがとうございます。 ピボットテーブルは勉強不足であまりわからないんですよね^^; 今後の参考にさせていただきます!ありがとうございます!
- coffeebar
- ベストアンサー率49% (216/436)
すみません。式を間違えました D3に入れる式は =if(left(c2,2)=left(c3,2),"",c3) です。(D4に入れる式を書いてしまいました。)
- coffeebar
- ベストアンサー率49% (216/436)
区分1をセルA1と仮定します。 まずコード(C列)をキーにして全体をソートします。(データ全体を選択して、「データー並び替え」) そしてD3に下記の式を入れ、D列の下にずーとコピーします。 =if(left(c3,2)=left(c4,2),"",c4) するとお望みのデータのみが取り出されます。(D2にはC2のデータをコピーして下さい。) 空白行を取りたければ、D列を「コピーー形式を選択して貼り付けー値」 によって式からデータに変えてからソートして下さい。
お礼
回答ありがとうございます。 なるほど!そのようにやればいいのですね。 ソートについて再度質問したいのですが、「C列をキーにして」とは C列を選択して並び替えを行えばいいのでしょうか? 回答いただけたらうれしいです。 よろしくお願いいたします。
お礼
追加の質問に回答いただきましてありがとうございます。 並び替えのやり方で、このようなやり方があるとは知りませんでした! ちゃんとできて軽く感動してしまいました。バカですね^^; ほんとお世話になりました!ありがとうございました!