[929] 楽天データの売価変更
たける [2026/01/03 13:19:10]
いつもお世話になっております。
楽天RMSのデータで売価を変更したく、
楽天のデータはバリエーション毎に管理番号が割り振られており、
品番/商品名/管理番号/販売価格/表示価格
ABC/タオル/
ABC/空欄/001/1980/3000
ABC/空欄/002/1980/3000
EFG/おもちゃ/
EFG/空欄/999/2000
上記のようなデータの持ち方をしており、
管理番号(バリエーション)に対して売価を設定する必要があります。
元データを「データ1」とし、
売価変更の品番・販売価格・表示価格をまとめたデータを「データ2」として、
データ1は、
1列目:品番
6列目:販売価格
7列目:表示価格
となっているので、
データ1の空いている9、10、11列目に、
データ2の品番・販売価格・表示価格をそれぞれコピペし、
9列目/品番、10列目/販売価格、11列目/表示価格とした場合、
1列目の品番と9列目の品番が完全一致した場合、
10列目の販売価格を6列目に上書き、
11列目の表示価格を7列目に上書き、
この上書きは文字が入力されている行(空欄行以外)が対象。
勝手なイメージですが、上記のような複雑なマクロを組む事は可能でしょうか?
よろしくお願いいたします。
Re: [929] 楽天データの売価変更
あすかぜ [2026/01/04 00:25:48]
次のようなマクロでどうでしょうか。
mapping = {};
for (y = 1; y <= Bottom; y++) {
if ([9,y] != "") {
mapping[[9,y]] = y;
}
}
for (y = 1; y <= Bottom; y++) {
if ([1,y] in mapping) {
data2 = mapping[[1,y]];
[6,y] = [10, data2];
[7,y] = [11, data2];
}
}
最初にデータ 2 の品番→行番号のマッピングを作成し、
その後もう一度上からデータ 1 を確認し、マッピングが存在する場合は 6 行目と 7 行目を上書きしています。
試してみてください。