dポイントプレゼントキャンペーン実施中!

すみません、初投稿になります
仕事でEXCELを使っているのですが、とあるデータを整理するのに時間がかかりすぎて困っています。宜しければ知恵をお貸しください
こちらの画像のように商品コードが一番左に表示されてまして、その商品コードと各社の品名は一致するようになっています
(例で言うと10001は必ずみかんに、10006は必ずぶどうになるようになっています)
一番左に表示されているデータの中で重複したデータを統一し、各社の金額を比較しやすいように横に並べる方法を探しているのですが、フィルタオプションや関数など、自分なりにいろいろと検索して試行錯誤してみてもわかりませんでした
何か簡略化できる方法をご存じの方がいましたらご教授願いたいです
宜しくお願いします

できる限り伝わりやすいようにしたつもりですが、わかりづらい点がありましたら追記にて説明いたします

「エクセル 重複するデータの整理」の質問画像

A 回答 (3件)

基本的には同じ商品コードの列に同じ情報を最初から入れていれば済むと思うのですが、それができていないデータがある、あるいは随時入れるので定期的にメンテをするということなのでしょうか。



一発でとはできませんが、私でしたら下のような手順で進めます。

まずデータをコード順に並べます。

次に、空白のセルに商品コードが下と同じであれば下のセルの情報を、違うなら「ー」などの違うと分かる情報を出す式を入れます。
商品コードの列がA列、会社名のある行が1行目なら、B社の1行目の品名欄に「=IF($A3=$A4,D4,"-")」とするわけですね。
そして空白のセルすべてに、この式を貼りつけます。
式の商品コード列だけを絶対値にしておけば貼りつけるだけで済みますし、フィルタリングなり、置き換えなりを使えば、手間はそう変わらないでしょう。
こうすることで、同じ商品コードの情報は必ず1番上の行には入っていることになります。

その次に、先ほど式を貼りつけたセルを含む表部分を選び、式を値に直します。
これで不要な行を消しても、情報は壊れません。

その次に、商品コードが2行目以降であることが分かるようにします。
条件付き書式で、上と同じ商品コードの場合、セルに色を付けるようにするのが一番スムーズかと思います。

最後に不要な行の抹消です。
先で2行目以降であることが分かるようにした行を選択します。
例の方法をとったのであれば、色フィルタで色を選択すれば一度に削除できます。

この方法をとる場合、万一、フィルタリングを間違えないように、最初に設定した「-」の数を数える列も作っておき、削除する時には「-」の数が0の行がない事を確認しておくと、より安全です。


マクロを使えば、もっと単純にできるのかもしれませんが、ちょっと思いつかないですね。
それよりも、同じコードなのに別の行に入力してしまうことを防ぐ方法を考える方が確実な気がします。

この回答への補足

ご回答有難うございます。ちょっと難しいそうですね

こちらのデータですが、おそらく大本の各社別の商品コードと価格がそれぞれ入力されているデータがあるはずなのですが、それをうちの上司が毎月画像のようにまとめて私に送ってくるのでこのような状態になっているのだと思います。
上司がかなりアナログ人間なものでこのような変な状態で私のところに送られてきてしまっています
そちらの大本のデータから集計した方が早いでしょうか?相手が上司なのでなかなか言いづらいんですが・・何とか現状の表を整理する形で処理したかったのです。

それと一応なんですが、商品コードの欄にコードを入力すると自動的に『みかん』と表示されるわけではなく、あくまでみかんのコードは『10001』だということだけなので連動して自動で変わるわけではありません
念のため補足をば

少し難しそうなので多少時間かけてでも手作業で処理することにします。皆様有難うございました
一番細かく説明してくださったのでこちらの方をベストアンサーとさせて頂きます

補足日時:2014/11/01 18:22
    • good
    • 0

適用可能なのか本来の表組みがわからないのでアレですが



別のシートにでも下の印刷用の枠を作って
DGETで必要な数字を吸い出す方式はどうでしょう?

参考URLにDGETの解説ページを貼っておきます

参考URL:http://excel.onushi.com/function/dget.htm

この回答への補足

ご回答有難う御座います。参考にさせていただきます
かなり簡易的に書いたのが若干裏目に出てしまったかもしれませんね

本来の表はこの商品コードの横に食品コード(商品コードと同一コード)があり、A社の欄には品名と金額だけではなく、実際には品名、規格、最低ロット数、金額と並んでいます。それが4社ほどあります

本来の目的は重複するコードを統一して並べることにより、各社取引商品の価格対比が一目でわかるようなる表を作るのが目的でして、そこからとある商品だけを抜き出して検索、といったことは目的としておりません

最終的に金額÷最低ロット数を各社別に裏で計算して各社の単価を比較し、その中で最安値を求めてそのメーカーに発注を促すようにするのが目的です。そのための関数は出来ているので問題ありませんが、今回画像にあるように膨大なデータの整理をひとつひとつ手作業でドラックアンドペースト+行削除をしているのでここにかなりの時間を費やしています
こちらを簡略化する方法を現在模索中なのです

補足日時:2014/11/01 13:17
    • good
    • 0

ピボットテーブルで、行が商品コード別、列が会社別の表を作ってはいかがでしょう。

この回答への補足

さっそくのご回答ありがとうございます
私もピポッドテーブルを試してはみましたが、会社名のセルが結合されているため、各社の名前がフィールドリストに表示されませんでした
セルの結合を解いて社名を削除し、品名の欄を各社別品名 金額の欄を各社別金額と入力してピポッドテーブルの1列目を整頓して試してもみましたが、すべて金額が合計で出てしまって、文字列がうまく表示できません

この例を使ってでも構いませんので、たとえばの話この画像にあるようなデータをピポッドテーブルで作る際の元データの整理の仕方なども具体的に教えていただけませんでしょうか

初心者なものですみません

補足日時:2014/11/01 11:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!