• ベストアンサー

エクセルでデータの並替

仕事で以下のような作業で手こずってしまい、何かいい方法があれば教えていただきたいです。 まず、A列には商品名が入っています。B列にはA列と同じ商品名が入っていますが、並び順はまったく違います。C列~D列にはB列に対しての単価、品番が入力されています。B列~D列をA列の順番で並び替えをするにはどのようにしたらいいでしょうか?(実際のデータは行列ともに200近くあります。)よろしくお願いします。

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

  • ベストアンサー
  • borg
  • ベストアンサー率56% (42/75)
回答No.4

今回、並び替えといっているのは、A列に対してB列以降を位置合わせするということですね。 koko_u_さんのやり方に治まっていくのかと思うのですが、Vlookupでエラーになっているのがキーそのものが違っているのでは(半角全角のちがい、スペースなどが入っている等:これも関数を駆使すればなんとかなる場合もありますが)難しいです。 A列が基準となりB列同じものがないからエラーになっているのならば、ISERROR関数を使うことで対処できます。

noname#48462
質問者

お礼

色々とありがとうございました。 やはり『スペース』が問題でした。文字の後ろにスペースが入っていた為エラー表示になってしまった様です。 一つ、勉強になりました。本当にありがとうございます。

その他の回答 (5)

  • sumjji
  • ベストアンサー率66% (10/15)
回答No.6

並べ替えのオプション機能を使ってみてはどうでしょうか? まず、A列の並び順を登録します。 メニューバーのオプションを開くと、ユーザー設定リストというのがあるので、その画面で、インポートボタンを一度押してそれからA列のデータが入っている行を全て選択します。 その後、もう一度インポートボタンを押します。(これを忘れると登録できないので注意!!)OKボタンを押したら、A列の並び方が登録されます。 今度は並べ替えの作業です。 B列からD列までを(並び替えたいデータの部分)選択してメニューバーの並べ替えを選択します。 最優先するキーをB列にして、オプションボタンを押すと 「並べ替えオプション」という画面のが出てきますので、並べ替え順序の指定の欄で先ほど登録した並びを選択します。 あとはOKボタンを押して並び替えれば登録したA列の順番にB列が並びます。 登録したデータはユーザー設定リストの画面で削除しておくことをお勧めします。 長くなりましてごめんなさい。 単純に並び順を変えるのであれば、関数を使うより単純で分かりやすいかと思いまして回答させていただきました。 参考までに、エクセルの機能が載っているサイトのURLをつけておきます。頑張ってください。 http://na5.blog101.fc2.com/

noname#48462
質問者

お礼

分かりやすい説明と、エクセル機能のサイトのURLまで載せて頂きありがとうございます。ぜひ、教えて頂いた方法でも試してみたいと思います。ありがとうございました。

  • borg
  • ベストアンサー率56% (42/75)
回答No.5

蛇足ながら、前後の不要なスペースは,TRIM関数で対応できます。 ご存じでしたら、すみません。

noname#48462
質問者

お礼

TRIM関数はぜひ、やってみたいと思います。たくさんエラーが出た時など対処法で使いたいと思います。 ありがとうございます。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.3

>エクセルは始めたばっかりなので何かと分からない事だらけで、 だからどうしたとしか言いようもなく。 Excel の vlookup() は「ピッタリ同じ」ものしか検索できません。スペースが入っていたり、全角半角など微妙に違う場合には無力です。 あとはヘルプを読んでくれ。

noname#48462
質問者

お礼

スペースなどでもエラーになってしまうなど勉強になりました。 色々とありがとうございました。

  • borg
  • ベストアンサー率56% (42/75)
回答No.2

A列とB列に同じ商品名が入っている?のに、A列とB列の並び順が違うというのは、A列とB列の関係は何なのですか?

noname#48462
質問者

補足

説明の仕方が悪くてすみません。A列・B列に同じ商品名が入っているというのは、横並びに同じ商品名があるという事ではなく、下記のよう な事です。A列を元にB列~を並び替えしたいのです。 A列    B列 ・・・ りんご  みかん みかん  なし なし    桃 桃     りんご

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

A 列の隣りに列を追加して 1,2,3, ... と連番をふる C 列(元の B列)の隣りに D列を追加して vlookup() 関数で C 列の名前で A 列を検索して、B 列の値をセットする D 列をコピーして値を貼り付けすることで、vlookup() 関数を消す。 あとは D 列をキーにソート

noname#48462
質問者

補足

ご回答ありがとうございました。 早速、試してみたのですが、VLOOKUPを入れると『#N/A』というエラーになってしまいました。もし、お解かりになれば原因を教えていいただきたいです。エクセルは始めたばっかりなので何かと分からない事だらけで、すみません。

関連するQ&A