突然ですが、
楽天RMS「スマートフォン用商品説明文」の画像枚数を数えること、困っていませんか?
たとえば商品説明文に一括で共通の画像を入れたい時などです。
追加したい画像1枚だと滅多には起こりませんが、
5枚くらい追加する⇒ほとんどがエラーになるなんてことがあったら大きな手戻りが発生します。
そうならないためにも、複数枚追加となるとやはり事前に調査は必要ですよね。
数商品だけ数えるなら、何とか頑張れそうですが、
10商品、100商品、1,000商品、10,000商品
と増えていくと物理的には無理になるかとおもいます。

私は10商品でも数えるのも疲れます
この記事は、EXCELだけで「スマートフォン用商品説明文」の画像枚数を調べる方法が分かったので覚書です。
スマホ説明文の画像上限が20枚までの理由

PCは入れることが可能なのだから、
画像もっと入れたいよ…
分かります。本当にそう思います。
ですが、画像があまりに多すぎると商品ページの表示が遅くなりますね。
ページの表示が遅くなると離脱率が下がりますし、検索の評価も下がります

もちろん、楽天検索から入るのだから問題ないかもしれないと思うかもしれませんが、
それにより楽天市場全体の評価が下がるとなっては、楽天も気が気ではないというところです。
過去にあった「裏技」などやりたい放題から制限をかけたというのが理由の一つだと思います。
今ではコンテンツページもあります。
内容によってはコンテンツページに書いたほうが情報もたくさん入れられます。
それでは、早速手順を説明します。
手順1.CSVをダウンロードする
RMSの管理画面からCSVをダウンロードします。
必要な項目は
「スマートフォン用商品説明文」
のみ。
他は対象カテゴリを絞り込んだり、販売中だけにしたり
それぞれの用途で絞り込んでください。

報告するときのことを考えると、
商品名・商品番号があると個人的には便利だと思っています。
手順2.EXCELでCSVを読み込む
CSVを「開く」ではない。読み込むです。
ここでCSVを読み込むときのポイント!
「データ」のリボンから「テキストまたはCSVから」を押して読み込む。

画面を最大化していないと、隠れている可能性があります

アイコンがたくさんあるエリアはリボンといいます。
読み込みたいCSVファイルを選ぶ画面が出てくるので
「データ型を検出しない」を選んで「データの変換」を押します
(macだと異なりますが出来ます!元のファイルがのエンコードが932になっていればOK)

商品名の下などには色々データがはいっていますが、お客様のデータなので隠しています
手順3.PowerQueryエディターでデータを一度整える
いつものEXCELとは違う画面になりましたが、あとでEXCELに戻るので大丈夫!

EXCELの画面にはこれを閉じないと戻れないので注意。閉じるのはちょっと待って!
1行目をヘッダとして使用ボタンを押す
これによって、1行目の値がヘッダになってくれます。
(※スクショ用に商品名を消しました。)
商品管理番号をテキスト型に設定する
商品管理番号を数字で入れている店舗や0から始まる値がある店舗、
数字ハイフン数字のような形の店舗さんのために、商品管理番号を「テキスト型」にしておきましょう。
(すべての店舗さんに当てはまるわけではないですが、万が一のため癖づけておくと便利です)
0がなくなったり日付になったりとんでもない値になることがあるので、必ずテキストにすることが大事!
EXCELは”賢い”から勝手に判断しちゃうんですよね!
SKUレベルの行を消す
不要な行や列は取ってしまってからEXCELで作業する方が良いので
スマートフォン用商品説明文を選び▽ボタンを押して
「空の削除」を選択
その際、フィルタの空白をチェックはダメです。
リストが完全ではない可能性がある場合(件数が多くてフィルタが不完全になり)中途半端になってしまいます。
「閉じて読み込む」を押してEXCELへ戻る
おかえり! “EXCEL”
SKU管理番号は消しても問題ありませんが、数式を入れたいので私はそのままにします。
手順4.画像タグの数を数える
ここからが本番!
画像枚数を数えていきます。
ここで大事なのは数え方です。
imgタグの数を数えられれば良いけれど、残念ながらそんな機能は無いわけです。
ここで使うのが
SUBSTITUTE 関数です
文字列の一部を指定した文字列で置き換える関数のことです。
この「SUBSTITUTE関数」を使って、imgタグの個数を数えていきます。
どのように行うかというと、まず画像タグは
「<img 」(gの後には半角スペースが入ります)
から始まるので、
1.スマートフォン用商品説明文 から 「<img 」 を、空白に置き換える
2.スマートフォン用商品説明文の文字数 から、1の文字数を引く(LEN関数で引く)
3.2の値を「<img 」の文字数(5)で割る
という方法を取ることで、imgタグの個数がわかるのです。
というわけで実際にやってみます!
1.スマートフォン用商品説明文 から 「<img 」 を空白に置き換える
「C2」セルを選択し、関数ボタンを押す

関数ボタン
ここでは関数ボタンを使って説明しますが、書き方を覚ている方はそのまま書いてOKです。
「SUBSTITUTE」と入れてOKを押す。
引数を入れていく
一番最初の「文字列」では、枠の右側にある矢印「↑」ボタンを押してB2セルを選択します。
B2セルを選び、枠内が[@スマートフォン用商品説明文]と表示されていればOK!
データを読み込むと自動的にテーブル化してくれるので、行がズレません。
CSV作業の時も事故が起きにくくなります。
それ以外の項目は、以下の通りに入力(imgタグを空白に置き換えています)したあと「OK」のボタンを押します。
入力結果は以下のとおりです。
文字列「<img 」を空白に置き換えたものです。
2.スマートフォン用商品説明文の文字数から「1」での文字数を引く(LEN関数で引く)
D列に移動して
D2に以下の式を入れます(LEN関数は、指定セル内の文字数をカウントする関数です)。
=LEN([@スマートフォン用商品説明文])-LEN([@1の値])
※「@1の値」はC列ヘッダ名を指します(ここではC列のヘッダ名を便宜上「1の値」に変更しています)。
そうすることで、B列の文字数から、C列の文字数を差し引いた値(数)が表示されました。つまりここに表示された値は「<img 」の半角5文字分に、imgタグの個数を乗じた数であり、たとえばimgタグが3個設置されていたとすれば「15=5×3」となります。
3.2の値を「<img 」の文字数(5で割る)
ここまでくれば、あとは簡単です。つまりD列の結果(imgタグの5文字にタグ個数を乗じた数)を、5で割り戻すことで、imgタグの個数が算出されるというわけです。

D列が100の値はimgタグが20個あるということなので、割り算しなくても設置上限に達していると分かりますねー
こうして、E列に画像枚数が現れましたとさ。
まとめ
意外と簡単に出来る画像枚数カウント。
高度なことをしなくても、昔からある関数でこんなに簡単に数えることが出来るとわかったのは革命的でした。
PowerQueryはEXCEL上で動くし、ちょっとしたツールもマクロを組まなくて済んだのでお勧めです!
参考資料(公式):SUBSTITUTE関数
関数のことを調べるなら公式一択!詳しくはこちら