- ベストアンサー
エクセルの並び替え
初歩的かと思いますがご教授願います。 以下のようなセルがあったとします 列行A B C (1) 1 2 (2) 2 3 (3) 3 1 これを何らかの方法を用いて A B C 1 1 2 2 3 3 という形に並び替えられないでしょうか? 色々検索してみましたがキーワードが悪いのか求めるものにたどり着けませんでした。(そもそもないのか 何卒よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Aのデータが 1 2 3 Cのデータが 1 2 4 だとしたら A C 1 1 2 2 3 4 と、並んだ状態にしたいと言う事でしょうか。 それでしたら、ピボットテーブルで複数のワークシート範囲を対象にすることで可能です。 列のタイトルが必要ですので、1行名に各列のタイトルをつけてやります。 この時、B列、D列も後から使いますので一緒にタイトルをつけます。 例:A1、B1に「Data」「DataA」、C1、D1に「data」「DataB」 B列に =A2、D列に =C2 と入れてやり、A列とB列、C列とD列が同じ値になるようにします。 次にピボットテーブルウィザード1/3で「複数のワークシート範囲」を選択し、2a/3はとりあえず「自動」を選択。2b/3で、範囲の指定をします。 ここで1列だけは指定できないので、A:B列、C:D列の2つを登録、3/3でテーブル表示位置をえらんで<完了>すると、お望みのデータが得られるかと。 #データが数値で無い場合は、B列とD列には「1」を入れて、後から加工してください。
その他の回答 (3)
- piro19820122
- ベストアンサー率38% (256/672)
>対比する列の中のデータは完全一致しません。 何を対比するのでしょうか? どういうことをしたいのか分からないので、「1」「2」「3」という数字ではなく、もう少し具体的なものにしてもらえると分かりやすいです。 (実際のデータは出せないでしょうから、適当な単語で良いので。数字だと数字そのものの並べ替えと思ってしまいます) とはいうものの、希望されているであろう機能を勝手に考えてみました。 A列の順序は保持したまま、C列のデータをA列と同じように並べ替えたいということでしょうか? しかもC列には空行があって、A列のコピペでは無理、ということですかね? だとするとVLOOKUP関数などが良いかもしれません。 D1 =A1 E1 =IF(C1="","",VLOOKUP(C1,$C$1:$D$100,2,FALSE)) といった感じで。
お礼
ご回答ありがとうございました。 試してみましたが私の理解が足りないのかうまくいきませんでした。 こちらの説明が悪すぎました・・・ 丁寧にありがとうございました。
- marbin
- ベストアンサー率27% (636/2290)
A行はそのままでC列を1行繰り下げ、一番下を一番上に繰り上げ、 というようにも見ますが、どうなのでしょう?
補足
申し訳ありません、説明が悪すぎました。 A B C 1 2 2 1 3 4 5 5 上のような表だとして A B C 1 1 2 2 3 4 5 5 のように並べ替えたいのです・・・関数などで
- piro19820122
- ベストアンサー率38% (256/672)
C列のみを選択(「C」の部分をクリック)して、並び替えを実施すれば良いでしょう。
補足
すみません、説明が不足しすぎてました。 対比する列の中のデータは完全一致しません。 ですので、単純な並べ替えだとソートされてしまい、対比状態にならないのです・・・ 申し訳ありません。
お礼
ご回答ありがとうございました。 試してみましたが私の理解が足りないのかうまくいきませんでした。 こちらの説明が悪すぎました・・・ 丁寧にありがとうございました。