Squareで公演チケットのオンライン販売~DLデータ活用編(前)~
ここは、小~中劇場規模の舞台公演(主に演劇)で制作やチケット管理業務をしてきた私が培ってきた事を綴るnoteです。
以前、公演チケットのオンライン販売でSquareを取り上げましたが、
ダウンロードした販売データが、この説明だけだとやはり使いづらいかと思い、補足をしたいと思います。
このnoteで出来るようになることは、
関数を使用して一つのセルから欲しい文字を抽出したり、
![](https://assets.st-note.com/img/1691466531739-nni2qFq2Vp.png?width=800)
1回の注文で複数の券種や日時を購入した場合のデータをまとめる方法です。
※追記(2024/5/17)※
この記事執筆時から、ダウンロードの方式・書式が変更になっていますが備忘として下記残しておきます!
1.商品登録の際に
まずはチケット販売をするにあたり、公演を一つの商品として登録し、オプションで公演日時と券種を選択できるように設定します。
商品登録は特に難しいことはありません。感覚的に操作していけます。
※オンラインビジネスから商品登録しないと、イベントチケットを作成できません。
[オンラインビジネス]→[商品]→[サイトの商品]→[新規商品を登録]
[商品タイプ]→[イベント]に変更
[商品タイトル]→公演名
としたら、オプショングループを作成します。
今回は公演日時と券種(一般、U25)を作り価格を設定します。
![](https://assets.st-note.com/img/1691396462427-8DH0bQ0tRj.png?width=800)
形式は公演日時はドロップダウン、券種はラジオボタンに設定。
すると販売画面ではこのように表示されます。
![](https://assets.st-note.com/img/1691396764122-p7cK3ktsLO.png)
その他、販売サイトのレイアウトや返信メールの文言など色々他にもすることはありますが、これも感覚的にできると思います。
必要な設定を完了すれば販売開始できます。
2.販売データをダウンロードする
販売データをダウンロードする手順は2通りあります。
(1) [ホーム]→[オーダー]→データをエクスポート
(2) [ホーム]→[オンラインビジネス]→[オーダー]→データをエクスポート
取得する情報はほぼ同じですが、なぜか書式が違います。
(1)は、文字化けしてない、一覧も断然見やすいデータがダウンロードされます。しかし、どのデータをダウンロードするかは手動で設定しないといけません。なのでダブりやダウンロードし忘れがおこる可能性があるので注意してください。
![](https://assets.st-note.com/img/1691460784936-SXlnvDnkYG.png?width=800)
(2)は、ダウンロードの確認がその場で出来ず一度メールで送られてくる、文字化けしてる(Windowsだけかも)、表が見づらいetc 使いづらいところもありますが、「最後のエクスポート以降の注文」を選択してダウンロードできるのは手動のミスが減らせて良いところだと思います。
![](https://assets.st-note.com/img/1691460806757-ZH4h5h152O.png?width=800)
3.セルから文字を抽出する関数(TEXTBEFORE/AFTER)
今回は(2)でダウンロードしたデータを使用してみます。
文字化けを直したり、申し込み1件分を抽出する方法(UNIQUE関数)は、前の記事の後半部をご覧ください。
チケット購入する際に、オプションで公演日時と券種を選べるようにしましたが、ダウンロードしたデータは全て1つのセルに入ってしまいます。
![](https://assets.st-note.com/img/1691462885547-lUPLKwp3vQ.png)
このままでも集計などは出来ますが、できれば日時と券種は別のセルに分けたいと思います。
文字を抜き出す関数にはLEFT,RIGHTなどがありますが、ここで使用するのは、こちら。
TEXTBEFORE/AFTER・・指定した文字または文字列の前(後)に出現するテキストを返す。
=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
text・・・検索対象の文字列/セル
delimiter・・・抽出したい文字の前にある文字。区切り文字(記号)
[instance_num]・・・区切り文字が何番目の文字か指定※省略可
[match_mode]・・・大文字小文字の区別(する=0/しない=1)※省略可
[match_end]・・・テキストの末尾を区切り記号として扱う。※省略可
[if_not_found]・・・一致しない場合に返す文字 ※省略可
商品のオプションのセル(AI3)を使って説明します。
![](https://assets.st-note.com/img/1691464710669-qYJublZ7w9.png)
まずは券種である "一般" を、TEXTAFTERを使用して抽出してみます。
上の式に当て嵌めてみると、
text・・・AI3
delimiter・・・コロン(:)
[instance_num]・・・2
[match_mode]・・省略/ [match_end]・・省略/ [if_not_found]・・省略
=TEXTAFTER(AI3,":",2)
となります。delimiterは ” ” で囲ってください。
![](https://assets.st-note.com/img/1691465271922-WVgVhzkgf2.png)
これで、2個目のコロン(:)より後ろのある文字列が抽出されました。
次に公演日時である、11月16日(木)19時 を抽出したいと思います。前にも後ろにもいらない文字があるので、TEXTBEFOREとTEXTAFTERを併用します。
つまり、コンマ(,)より前 かつ 1個目のコロン(:)より後ろの文字を抽出する式を作ります。
=TEXTBEFORE(TEXTAFTER(AI3,":",1),",")
![](https://assets.st-note.com/img/1691468418089-LQvnD1UEIF.png?width=800)
コンマはセル内に1つしかないので、TEXTBEFOREの[instance_num]は省略できます。
beforeとafterの順番を逆にしても同じ結果になります。
=TEXTAFTER(TEXTBEFORE(AI3,","),":",1)
![](https://assets.st-note.com/img/1691468925377-I7gnbK1bno.png)
これで公演日時だけ抽出する事ができました。
少し長くなりましたので、後編に続きます。
この記事が気に入ったらサポートをしてみませんか?