Excelで販促ポップ(割引POP)を作る。関数エラーもちゃんと潰す。
初売りで撮影したリバーウォーク玩具屋のPOPが意外に拡散されました。
凄え!#DIV/0! OFFと#VALUE! OFFだ! pic.twitter.com/Dz1GAhMbAR
— たかき (@Takaki_) 2019年1月3日
ExcelをPOP作成に使っている事例ですね。一枚一枚作るのであればVLOOKUPだけでできます。
作り方
識別コード、商品名、定価、実売価格、割引率をまとめたシートを作成します。割引率はC列とD列の除算で計算しましょう。
桁点とかパーセント表記はセルの表示設定で何とでもなります。
印刷用のレイアウト作ります。右上に識別コード入力用のセルを設けました。ここの数字を入れ替えれば商品名、定価等の数値が自動で切り替わります。
識別コードに依存する商品名他はVLOOKUPで呼び出します。商品名は2列目に入ってるので、VLOOLUP(J1, items!A:E, 2, FALSE)。J1は上の画像で丸をつけた識別コードを呼び出していて、items!A:Eは itemsシートのAからE列をVLOOKUPの参照先として指定。最後のFALSEは完全一致の引数です。
同じ手順で割引率(5列目)や定価(3列目)をVLOOKUPの引数に渡していきます。
これでJ1を書き換えてやれば製品ごとのPOPが出来るので、Ctrl+Pで印刷してやればOKです。
エラーと対処
まず#VALUE!エラーは除算の対象が数値ではないので起きています。例えばゾンビランドサガの定価を「百億点」にすると
こういう感じでエラーが発生します。
もう一つのエラー(#DIV/0!)は0を除算の対象にした場合に出てきます。異世界スマホを0にすると
エラーをPOPに出したくない場合はIFERRORを噛ませます。
IFERRORは第一引数でエラーが出た場合に第二引数を返します。この場合は「割れぬ!」という文字を返すので、POPのレイアウトを見るとこんな感じになりますね。
実際に使う場合は「-」のような未定義を示す何らかの記号を入れとけばいいかと。VBA使えば作ったPOPをまとめてPDF出力することもできます。
とはいえExcelの本来の用途は表計算ソフトなので印刷物作るのには向いてません。ちょっとしたことでレイアウトが崩れるのでおすすめは出来ないです(今回作ったものは5桁以上の価格で表示ができなくなります)。
また、このやり方は商品のマスターDBが無さそうに見えます。商品管理のシステムではJANコード、商品名、割引率等を持っていると思うので、そこからデータダンプして印刷システムに渡したほうが事故が少ないかと。