ファイルエクスチェンジでテンプレート(HTML)をアップロードする方法です。
ebay出品で商品説明にHTMLを使ってる方は、まったく同じテンプレートをFile exchangeからでもアップロードすることができます。
さらにエクセルの関数を使うことで、商品ごとの詳細をHTMLに組み込んだ状態で、CSVファイル化することが可能です。ある程度HTMLの知識がある方が対象です。
実際に僕が使ってる方法を紹介します。
今回やってみること
- HTMLにキーワードを埋め込む
- エクセルで関数を入力する
HTMLをFile exchangeで使うだけなら簡単
単純にHTMLを使うだけなら簡単です。
「*Description」セルに使用中のHTMLをコピーするだけでOK。ただし改行は削除する必要があるので、エクセルの置換機能を使って改行コードを消したらいいと思います。
エクセル上で Ctrl + F した後に、Ctrl + J と"すべて置換"を押す
改行を削除するサイトもあります。
>>改行コード削除
でもまあ、ただHTMLを使うだけだと商品ごとに違う情報を入れるのが面倒です。
HTML内の商品情報などは異なる内容を表示したいので、関数を使います。
使う関数
SUBSTITUTE
SUBSTITUTE関数は、対象セル内の任意の文字列を検索し、その検索した結果を希望する値に置き換えることができます。
つまり、今回はHTMLの中から○○という文字を探し出して、その○○を商品ごとの文字や数字に書き換えるために使います。
SUBSTITUTE関数の書き方
文字だけで説明するのは難しいので実際にHTMLを使ってSUBSTITUTEしていきます。
File exchangeでSUBSTITUTE関数を使った実例
参考のHTMLとしてテーブルで作った送料表を使って説明します。
こんな感じでebayの説明ページに表示されるようにしたい場合
SAL | EMS | |
---|---|---|
USA, Australia, Canada | $5 | $15 |
Europe, Russia | $5 | $17 |
HTMLは以下のように書きます
<table> <tbody> <tr> <th></th> <th>SAL</th> <th>EMS</th> </tr> <tr> <td>USA, AU, CA</td> <td>$5</td> <td>$15</td> </tr> <tr> <td>Europe, Russia</td> <td>$5</td> <td>$17</td> </tr> </tbody> </table>
File exchangeは改行を使えないので、実際にDescriptionセルに入力する場合はこのように一行の改行なしで記載します。
<table><tbody><tr><th></th><th>SAL</th><th>EMS</th></tr><tr><td>USA, AU, CA</td><td>$5</td><td>$15</td></tr><tr><td>Europe, Russia</td><td>$5</td><td>$17</td></tr></tbody></table>
商品ごとで送料が変わる設定の場合
SAL | EMS | |
---|---|---|
USA, Australia, Canada | $5 | $15 |
Europe, Russia | $5 | $17 |
今回の目的は、上の表で色がついてる5ドルや15ドルといった値段の部分を商品によって変更されるようにします。次の手順でソース変更とエクセル上の関数入力が必要です。
- HTMLの金額部分を任意の値に置き換える
- SUBSTITUTE関数をエクセルのフォーマットに沿って入力する
それぞれの詳細は以下のような感じです。
1.HTMLの金額部分にUS_SAL や US_EMS と任意の値を設定
エクセル上で実際に入力された送料と置き換えるために、HTML内の金額部分を検索用の文字列へ書き換えます。
今回の例ではUS_SALやUS_EMSなどの値にしました。ご自身で決めた値でかまいませんが、他のHTMLタグと被らない唯一の文字にします。(日本語でもOK)
書き換えるとこんな感じになります。
SAL | EMS | |
---|---|---|
USA, Australia, Canada | US_SAL | US_EMS |
Europe, Russia | EU_SAL | EU_EMS |
実際にエクセルに入力したらこんな感じ。
次にSUBSTITUTE関数をエクセルに入力します。
2.SUBSTITUTE関数をエクセルフォーマットに沿って入力する。
File exchangeテンプレートのDescriptionセル部分に入力します。SUBSTITUTE関数の書き方はこんな感じです。
=SUBSTITUTE(HTMLが入っているセル,"US_SAL",実際の送料が入っているセル)
HTMLが入っているセルと実際の送料が入っているセルという部分を、それぞれの値と紐付してください。
これで、HTMLが入っているセル内から"US_SAL"という文字を検索して一致した場合に、"実際の送料が入っているセル"の値とUS_SALを置き換えるようになります。
US_SAL ⇔ 実際の送料が入ってるセル
具体的に言うと、File exchange内の送料欄で、アメリカ向けエコノミー送料セルに"5"と入っていた場合、HTMLから"US_SAL"という文字を検索して、"US_SAL"を"5"に自動で入れ替えるという動きです。
エクセルで入力した場合以下のようになります。
US_SALとUS_EMSを置き換えています。SUBSTITUTEの関数をE2に入力、HTMLは入力専用シート
そして更に、SUBSTITUTE関数は複合して書くことができるので上の4つの文字を置換する場合はこのように書きます。
基本はこんな感じです。実際にやってみた方が分かりやすいです。
これを応用すれば、例えば商品の型番を代入したりタイトルをebayのタイトルと一致させたり、画像を挿入したりできるわけです。
イメージですが、こんなのも作れます
(画像が拡大したり入れ替わったりする所はjavascriptが必要です)
JavascriptやJQueryはそのまま入力するだけでは使えません。かなりゴニョらないとアップロードで弾かれます。
CSSは普通に使えるので、メディアクエリでスマフォ用HTMLとPC用を分けたりできます。
エクセルのポイント
ポイントは、file exchangeのシートだけで完結させようとしないところです。
入力する専用のシートと、File exchangeのcsv用シートは分けた方がいいです。さらに言うなら、HTMLを細かく分解してCONCATENATE関数などでくっつけたら自由自在です。
誤って関数を消したりしなくていいですし、細かい修正も楽になりますしね。
関数の本が一冊あるとはかどります。
商品説明にHTMLを使う方法のまとめ
- ebay出品で商品説明に使ってるHTMLテンプレートをそのままFile exchangeでも使える
- HTMLは改行を入れずに一行で書く
- 商品ごとで異なるデータは、エクセルの関数SUBSTITUTEを使うことで、任意の値に置換・変更できる
- HTMLはメインシート以外のシートに入力して、紐付けした値をFile exchangeのメインシートに入れるようにする
僕のFile exchangeテンプレートでは、商品の価格と重さを入力したら、販売価格や送料は自動で各国振り分けされます。そしてHTMLにも連動して入ります。
FREE Shippingも条件によって自動で入るので、送料表にもそれぞれが連動して記載されるようになってます。
File exchangeを使えば無料で実現できる内容です。
エクセルが使える人はもうやりたい放題できますね。
- データベースでのID管理
- スプレッドシートとの連動(自動翻訳、画像取得)
毎月出品ツールにお金払うのは嫌って方は、外注さんにこれらを作ってもらうことがおススメです。