[[20240423132534]] 『一括でコードを紐づけたいのですが、、、』(EC初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『一括でコードを紐づけたいのですが、、、』(EC初心者)

この4月にECサイトを運営する部署に異動になったのですが...
膨大な量の商品コードを一括で紐づけできたらと思い投稿しました。

A列      B列
商品コード   関連商品コード
AAA00001    AAB0001
AAA00002    AAC0001
AAA00003    ABA0002
AAA00004    BBA0002
AAA00005    VVS0003
AAA00006    CCC0009

↑のデータを一括で↓のように変換したいのですが、
A列      B列
商品コード   関連商品コード
AAA00001    AAB0001
AAA00001    AAC0001
AAA00001    ABA0002
AAA00001    BBA0002
AAA00001    VVS0003
AAA00001    CCC0009
AAA00002    AAB0001
AAA00002    AAC0001
AAA00002    ABA0002
AAA00002    BBA0002
AAA00002    VVS0003
AAA00002    CCC0009
・       . 
・       .
・       .

良い方法がございましたらご教示お願い致します。
つたない説明で申し訳ございません。
よろしくお願いいたします。

< 使用 Excel:unknown、使用 OS:unknown >


 バージョンが不明ですが、2010以降でPower Queryが使えるなら、それが簡単かと思います。
 只、普段から使っていないと、逆に難しく感じるかも...

(まる2021) 2024/04/23(火) 13:58:31


 >膨大な量の商品コード
 具体的に今現在おおよそどんな行数ですか?

 サンプルではA列とB列が同じ行数なんですけど、
 実際はそんなことないですよね?
 実際はどんな状況なんですか?
 ※・・と言うより、説明が間違っているのではないかと思っているのですが・・

(半平太) 2024/04/23(火) 14:53:39


 例示のレイアウトであるとすると、一応そのとおりにはなるけど。

 C2 =INDEX(A:A,INT((ROW()-2)/(COUNTA(B:B)-1))+2)
 D2 =INDEX(B:B,IF(MOD(ROW(),COUNTA(B:B)-1)=1,COUNTA(B:B),IF(MOD(ROW(),COUNTA(B:B)-1)=0,6,MOD(ROW(),COUNTA(B:B)-1))))

 C2,D2とも下にフィルコピー(C列の値が0となる行の1行前まで)

 なんかすごく強引で全然スマートではないし、絶対もっといい方法があるはず。

(不採用) 2024/04/23(火) 16:50:06


 商品コードと 関連商品コードの直積(またはクロス結合)ということのようですが、
 本当にそれが求めるものなのか確認したいですね。

 普通は、商品コード毎に、関連商品コードは異なりますよね。
 だからこそそういう対応表が必要になるんですよ。
 質問者さんの意図は、すべての組み合わせを予め作ってしまって、不要なものを消していく方針なんですか?
 目指すものが間違ってはいないかと懸念します。もう少し説明してください。

 また、使用しているExcelのバージョン情報は必須です。
 使える道具がまるで変ってきますので、それを書かない質問はお互いに無駄なことになります。
 是非、きちんと書いてください。

(xyz) 2024/04/23(火) 20:04:41


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.