好きなおでんの具材ドラフト会議しましょう

A列とB列にまったく同じ商品ID(アルファベット)が記入されています。

しかし、A列とB列の商品IDは順番がバラバラです。

このA列とB列の商品IDを「一致させて並び替える」ことは可能でしょうか?

教えてください。

A 回答 (7件)

こんばんは!


簡単な方法はすでにNo.2・3さんが答えていらっしゃいますが、
他の方法の一例です。

↓の画像で説明させていただくと

2号店の方が商品数が多いみたいなので
2号店の表に作業用の列を設けます。

作業列のH3セルに
=IF(OR(E3="",COUNTIF($A$3:$A$5000,E3)),"",ROW(A1))
としてずぃ~~~!っとオートフィルで下へコピーします。
(数式が5000行まで対応できるようにしていますので、そのくらいまでコピーしても構いません)

次にJ3セルに
=IF(COUNTA($A$3:$A$5000)>=ROW(A1),A3,IF(COUNTA($A$3:$A$5000,COUNT($H$3:$H$5000))>=ROW(A1),INDEX($E$3:$E$5000,SMALL($H$3:$H$5000,ROW(A1)-COUNTA($A$3:$A$5000))),""))

K3セルに
=IF(J3="","",IF(COUNTA($A$3:$A$5000)>=ROW(A1),B3,INDEX($F$3:$F$5000,SMALL($H$3:$H$5000,ROW(A1)-COUNTA($A$3:$A$5000)))))

L3セルに
=IF(J3="","",SUMIF($A$3:$A$5000,J3,$C$3:$C$5000)+SUMIF($E$3:$E$5000,J3,$G$3:$G$5000))
という数式を入れ、J3~L3セルを範囲指定し、L3セルのフィルハンドルで
下へコピーすると画像のような感じになります。

そして、1号店・2号店の元データを並び替えすれば集計した表に反映されると思います。

その上で尚並び替えをしたい場合は
J~L列を範囲指定し、形式を選択して貼り付け「値」にチェックを入れ
他の列へ貼り付け後、並び替えを行えば希望に近い形になると思います。

以上、長々と書き込んでごめんなさね。

かなり手間がかかる方法ですが、参考になれば幸いです。
尚、他に良い方法があれば
読み流してくださいね。m(__)m
「エクセルで異なる列のデータを一致させて並」の回答画像6
    • good
    • 1

No.6です!


たびたびごめんなさい。

前回の回答の中のJ3セルの数式に間違いがありました。
J3セルは
=IF(COUNTA($A$3:$A$5000)>=ROW(A1),A3,IF(COUNTA($A$3:$A$5000)+COUNT($H$3:$H$5000)>=ROW(A1),INDEX($E$3:$E$5000,SMALL($H$3:$H$5000,ROW(A1)-COUNTA($A$3:$A$5000))),""))

に訂正してください。
検証せずに投稿してごめんなさいね。

どうも何度も失礼しました。m(__)m
    • good
    • 3

質問の説明が粗い。


実例でも挙げて説明すること。特にターゲット状態を示さないと。
ーーー
A列  B列
A   A
B   C
C   A
D   A
D   E
と在ったらどうするのか?
ーー
結果
A列 B列
A A
ー A
ー A
B-
C C
D-
D-
ーE 
(ーは空白セルを示す)のようなものか?
===
これがやりたいことなら、単純には行かず’多分関数では難しいと思うが)VBAでやる必要があるが、初心者には難しい。

この回答への補足

解説が粗い。

質問者を説き伏せたいのなら、もっと判りやすく書くこと。

「ー」などつかわず「-」を使うように。

文章能力を上げるVBAなどがあれば教えてあげたいです。

補足日時:2009/11/12 21:32
    • good
    • 4

No.2です。



商品別の在庫数を知りたいのなら、並べ替える必要はありません。

たとえば
(1)H列に商品IDをすべて記入
(2)I1セルに「=SUMIF(A:A,H1,C:C)+SUMIF(D:D,H1,F:F)」と入力
(3)I1セルを下へ商品ID数だけコピー

これでI列に商品別の在庫数合計が表示されますが、どうでしょうか。
    • good
    • 2

A列のデータの後にB列からコピーしたデータを貼り付けます。


その後に「データ」タブの「詳細設定」をクリックしてリスト範囲を$A1:$A3000のように変更します。
「重複するレコードは無視する」にチェックをしてOKします。
重複のないデータがA列に並びますのでその範囲を指定してコピーし、別のシートに貼り付けます。その後にもとのシートのA列とB列は削除して、コピーした先のデータをコピーしてもとのシートのA列に貼り付けます。

この回答への補足

ごめんなさい。

まったく判りません。

補足日時:2009/11/12 19:34
    • good
    • 1

事例を具体的に書いてくださると助かります。

たとえばA列とB列にどのようなデータがあるのかとか、それをどのように並べ変えたいのかとか。よろしくお願いします。

この回答への補足

ありがとうございます。
より詳しく書きますね。

A列には1号店の商品ID(1000件分)

B列には1号店の商品名(1000件分)

C列には1号店の商品在庫数(1000件分)

D列には2号店の商品ID(2000件分)
*1号店の商品IDと一致しています。

E列には2号店の商品名(2000件分)
*1号店の商品IDと一致しています。

F列には2号店の商品在庫数(2000件分)
*1号店の商品IDと一致していません。

A~C列 と D~F列を「商品ID」を基準に一致させて並び替えをしたいのです。

1号店と2号店の在庫数をまとめて算出することが目的です。

宜しくお願い致します。

補足日時:2009/11/12 17:59
    • good
    • 0

A・B列が同数ならば、列ごとに並び替え→昇順を実行では駄目でしょうか。

この回答への補足

ありがとうございます。

説明不足でした。

A列とB列は同数ではありますが、A列の商品ID数とB列商品ID数が違います。

例えば、A列は1000個なのですが、B列は2000個のような感じです。

補足日時:2009/11/12 17:55
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A