• ベストアンサー

Excelでのデータ取り出し

こんにちは。Excelでのデータ取り出しで質問があります。 【Excel】 区分1 区分2  コード 1    2    AB10001 1    2    CD10003 1    2    CD10002 1    2    AB10004 このようなデータがあった場合に、コードの左2桁が同じデータが複数あった場合、若いコードを取り出したいのです。 このデータの場合、「AB10001」と「CD10002」が取り出したいです。 このようなデータがたくさんあった場合、関数で取り出すことは可能 でしょうか? よろしくお願いします。

noname#79102
noname#79102

質問者が選んだベストアンサー

  • ベストアンサー
  • coffeebar
  • ベストアンサー率49% (216/435)
回答No.4

ANo.1です。追加質問にお答えします。 ソート(並べ替え)というのはデータの横のつながり(区分1,2とコードの組み合わせ)を崩さずに、データ中のある要素(キー、例では区分)がABC順あるいは数字順に並ぶように整理することを意味します。 「C列をキーにしてソートする」とは、区分とコードのひも付けを崩さずに、コードが順番に並ぶように整理するということです。 C列のみを選択してソートを行うと、A列、B列との関連付けが崩れてしまいます。(コードの区分1、2が分からなくなってしまいます。) ですからデータ全体(例の場合はA、B、C列のデータが入っている全行)を選択して、メニューバーから「データー並び替え」を実行します。 すると別ウィンドウが表れて、キーの指定が出来ます。 ここで最優先されるキーにC列を指定します。降順(zyx順)ではなく昇順(ABC順)を指定します。

noname#79102
質問者

お礼

追加の質問に回答いただきましてありがとうございます。 並び替えのやり方で、このようなやり方があるとは知りませんでした! ちゃんとできて軽く感動してしまいました。バカですね^^; ほんとお世話になりました!ありがとうございました!

その他の回答 (3)

noname#204879
noname#204879
回答No.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

noname#79102
質問者

お礼

回答ありがとうございます。 ピボットテーブルは勉強不足であまりわからないんですよね^^; 今後の参考にさせていただきます!ありがとうございます!

  • coffeebar
  • ベストアンサー率49% (216/435)
回答No.2

すみません。式を間違えました D3に入れる式は =if(left(c2,2)=left(c3,2),"",c3) です。(D4に入れる式を書いてしまいました。)

  • coffeebar
  • ベストアンサー率49% (216/435)
回答No.1

区分1をセルA1と仮定します。 まずコード(C列)をキーにして全体をソートします。(データ全体を選択して、「データー並び替え」) そしてD3に下記の式を入れ、D列の下にずーとコピーします。 =if(left(c3,2)=left(c4,2),"",c4) するとお望みのデータのみが取り出されます。(D2にはC2のデータをコピーして下さい。) 空白行を取りたければ、D列を「コピーー形式を選択して貼り付けー値」 によって式からデータに変えてからソートして下さい。

noname#79102
質問者

お礼

回答ありがとうございます。 なるほど!そのようにやればいいのですね。 ソートについて再度質問したいのですが、「C列をキーにして」とは C列を選択して並び替えを行えばいいのでしょうか? 回答いただけたらうれしいです。 よろしくお願いいたします。

関連するQ&A

  • エクセルを使ってデータを振り分けたいのですが。。

    EXCEL2003のことで質問です。 現在、下記のようにならんでいるデータがあるのですが、 これをID毎に振り分け直したいのですが、 IDが文字数がバラバラのため、どのようにすればいいのか 上手い方法が見つかりません。 [現在] ID/区分   個数 ―――――――――――――― 00000:区分AA   10 00000:区分B   20 12222:区分AA   11 12222:区分B   22 12222:区分D   44 222222:区分AA   5 222222:区分CCC   8 [最終] ID/区分 合計 区分AA 区分B 区分CCC 区分D ―――――――――――――――――――――――――――― 00000   30  10   20 12222   77  11   22       44 222222   13   5   8 最終的にはIF文とVLOOKUPの組み合わせになるのかな?と思うのですが、 左の文字列、右の区分名の文字数が全てバラバラの為、 予めLEFTなどで抜き出すことが出来ません。 このような場合は、どのようにすれば良いのでしょうか? マクロはわからないので、エクセル関数での方法を教えていただけませんか? よろしくお願いします。

  • Excelで文字列が含まれている値から最小値を取り出す

    こんにちは。Excelの関数での質問です。 Excelで以下のようなデータがあった場合   A列   B列   C列 (1) 1    2    AB10001 (2) 1    2    CD10003 (3) 1    2    CD10002 (4) 1    2    AB10004 (5) 3    4    ZZ99999 (6) 3    4    ZZ00000 A列、B列の値が同じ行で、C列の左2桁が等しい値の中から最小を 取り出したいです。 このデータの場合、A列「1」、B列「2」のレコードでは C列の「AB10001」、「CD10002」が取り出したいです。 A列「3」、B列「4」のレコードでは C列の「ZZ00000」が取り出したいです。 以上、よろしくお願いいたします。

  • EXCELでの複数条件合計について

    EXCELでの複数条件合計について教えてください。 倉庫コード/品名コード/品名/金額/日付 ------------------------------------------ 10000/00010/AB/10/070101 10001/00010/AB/20/070110 20000/00020/CD/20/070110 30001/00030/EF/30/070115 上記のようなデータがあります。 倉庫コードを10000番台ごと、品名コードを10番台ごと、 日付ごとの条件で金額を集計したいのですが、関数は何を 使ったらよいでしょうか? 一応、SUMPRODUCTを使ってみたものの、結果が返ってきませんでした。 宜しくお願いします。

  • Excel 関数を教えてください

    こんにちは。関数をほとんど使ったことがないので、初歩的な関数でできるのかもしれないのですが、自分で関数を使ってやってみるものの・・・ うまくいきません。関数を使って区分わけを自動でできるようにしたいのですが すみませんが、関数に詳しい方教えてください。 コードから3区分したいのですが、 コードは001-001、101-001、002-001,002-002、003-001などです。 コード(A列)、ふり番号(B列)にデータは入力してあります。 まずは1つ目に最初の3桁で001→1、101→2とゆうふうに値を返したいのです。 2つ目はコードそれぞれを001-001→1、002-001→2、002-002→3・・・と値を返したいのです。 最後にふり番号を使って1~1999→1 10000番台→2 50000番台→3 と区分したいのです。 宜しくお願い致します。

  • Excelでのデータチェック

    Excelで、次のチェックをする方法を教えてください。 あるコード(英数字混在、20桁)に対して必ず1111が紐づいていないといけないのですが、その20桁のコードは一意でなく、1111以外にも2222、3333などが紐づいていることもあります。複数の場合、特に何件存在するかは決まっていません(1111、2222は全部で100種類ほど)。1111が付いていないコードを洗い出したいのですが、どのようにしたらよいでしょうか。

  • エクセル

    エクセルの複数のシートに8桁と9桁の数字が入っていて、9桁だった場合だけ、9桁目の数字を消したいので、数式を作ってみたのですが、なかなかうまくいきません。 専用の関数などあったら教えてください。

  • エクセル 数値データを桁をそろえて文字列データに変換するには

    よろしくお願いします。 エクセル2002を使用しています。 数値データとして整数1桁、2桁、3桁のデータが混在してあります。 これを1桁、2桁のものは前にゼロを付けて全て3桁の文字列に変換する方法はありますか? できれば関数を使って 例  数値 文字列   8⇒008  12⇒012 235⇒235  11⇒011 できた文字列で品番コードとして使用します。 どなたかご存知の方、ご教授お願いします。

  • エクセル2003 データの抽出

    excel2003を使用しています。 A列に8桁のコード、B列に、そのコードの品名が入力された表があります。 この表の中から、最初の4桁だけ一致するデータを抽出したいのですが どうすればよいでしょうか? オートフィルタオプションを使ってみたのですが、うまくできません。 よろしくお願いいたします。 例:12348888、12349999、12346666、32224434、46732235・・・・と並ぶコードの中から、 1234×××× のコードの行だけが、表示されるようにしたい。

  • EXCEL 重複データのカウントについて

    EXCELにて、データをカウントしたいのですが、 重複しているデータは1件とします。 SUMPRODUCT関数を使えばできると思うのですが、 データが、複数のシートにある場合はどのようにしたらよいでしょうか? いろいろ試してみましたが、うまくいきませんでした。よろしくお願いします。

  • Excelで年月日データから下二桁だけを取り出したい。

    Excelで年月日データから下二桁だけを取り出したい。 お世話になります。 Excel2000を使用中です。 まあ、この質問に関してはあんまりバージョンは関係ないと思いますが。 セル(例としてA1)に日付データが入っています。 このセルから西暦年の下二桁だけ取り出したいです。 Year関数を使って =year(A1) とすると西暦年4桁が得られます。 4桁では困るのです。2桁にしたい。 どうしたらよいでしょう? 多分、Text関数を使うと思うのだけれどうまくいかない。 注意 Year関数で得られた結果から2000を減算するのはNG 事情があってセルの書式変更はできない。よってセルの書式を使う方法はNG よろしくおねがいします。

専門家に質問してみよう