tutorial

クラウドのアカウントなしで、フォームの回答をCSVに書き出す

iPadには、署名済みの問診票が300件たまっている。今期「既往症なし」にチェックした人が何人いるか聞かれても、答えはその300件のPDFの中のどこかにあり、300件すべてを開いて数える以外に方法がありません。

これが記録とデータのあいだにある溝です。署名済みのPDFは「誰が、いつ、何に同意したか」を示すには正しい形ですが、複数人にまたがる質問には答えられません。よくある答えはクラウドプランのレポート機能です。すでに契約しているなら、それを使えばいいだけの話です。ただしそれには、アカウントと、サブスクリプションと、チェックボックスの数を数えるためだけにクライアントの回答をベンダーのサーバーに置くことが伴います。

ここで扱うのはデータを取り出す方法で、フォーム自体の作り方ではありません。テンプレートと記録の仕組みがまだできていないなら、それは別の記事で扱っています。

いま見ているリストが、そのまま書き出す内容になる

「記録」でテンプレートを開くと、その提出データが表として表示されます。並べ替えたり検索したりできるほか、クライアントやテンプレート、クライアントのプロフィールに保存された回答でも絞り込めます。そのうえで書き出します。

書き出されるのは、検索、絞り込み、並べ替えを適用したあとのリストそのものです。専用の日付選択や独自の条件を持つ書き出し用のダイアログは別にありません。すでに設定した絞り込みそのものが書き出す範囲になるので、書き出す前にまず画面を見れば、何が書き出されるかを確認できます。

1人のクライアントで絞り込み、16件中3件を表示する記録一覧

表の上に「16件中3件」と表示されていれば、書き出すファイルも3行になります。リストを絞り込み、件数を確認してから書き出す。これが基本の流れです。「すべてのフォーム」からテンプレートをまたいで一括で書き出すこともでき、その場合はテンプレート名の列が追加されるので、複数のフォームの行が混ざっても読み分けられます。

各行は、クライアント名から始まり、続いて署名日と署名時刻がそれぞれ別の列になり、その次にバージョン番号が入ります。そのあとに、フォーム上の各データ項目が1列ずつ並びます。

CSV書き出しはProの機能で、書き出す範囲を絞り込むための並べ替え、検索、フィルタも同じくProに含まれます。

見出しは2種類、それぞれが向く場面

ファイルを書き出す前に、見出し行に何を使うかを選びます。どちらが正解かは、そのファイルを誰が開くかで決まります。

CSVの見出し行に表示ラベルと項目名のどちらを使うか選ぶ

表示ラベルは、人が読むときの表記そのもので、画面上の表に出ているのと同じ文字です。回答の件数を数える人や、今月の問診を確認する同僚など、人がスプレッドシートを開くときはこちらを選びます。

項目名は、そのラベルの裏にある機械向けの識別子です。ASCII文字で、一意で、項目のラベルを変えても、アプリの表示言語を切り替えても変わりません。ファイルの渡る先が、業務管理システムや請求システムへの取り込み、あるいはスクリプトなど、別のシステムであれば、こちらを選びます。そうすれば来期の書き出しも、今期と同じ列のキーを持てます。テンプレートを途中で誰かが編集していたら、表示ラベルではそれを保証できません。

ファイルが正しく開けるかどうかを決める、細かな仕様

CSVでよくあるトラブルの大半は文字コードの問題です。クライアント名が「?」だらけになって出てくるのがその典型です。

書き出すファイルの先頭にはUTF-8のBOMが付きます。だから、アクセント記号のついた名前や日本語の住所も、Excelでダブルクリックしたときに文字化けせず正しく開きます。カンマ、引用符、改行を含む値は、RFC 4180に従って引用符で囲まれ、内部の引用符は二重にされるので、カンマを含む自由記述の回答が勝手に別の列へ分かれてしまうこともありません。行の終わりはCRLFです。これもRFC 4180で定められた形式で、古めのWindowsのツールが期待するものです。

できあがったファイルは通常の共有シートから渡せるので、Numbers、Excel、メール、ファイルアプリのどこにでも送れます。ファイル名はテンプレートの名前から自動でつきます。

署名が含まれない理由

署名欄とイニシャル欄は書き出しの対象から外れます。手で描いた署名には、セルの中で意味を持つテキスト値がなく、空の列や「署名済み」のようなプレースホルダを置くと、スプレッドシートを署名の証拠として扱ってよいと思わせてしまいます。それは違います。何に署名したかの記録は、ハッシュ付きの署名済みPDFのほうです。CSVは集計と報告のためのものです。

まとめ

自分のフォームについての質問に答えるのに、レポート専用のプランは要りません。記録のリストを欲しい範囲まで絞り込み、件数を確認して、CSVとして書き出すだけです。人が読むなら表示ラベルを、システムが読むなら項目名を選んでください。ファイルはExcelで正しく開け、カンマを含む自由記述の回答もそのまま残るように書き出されます。

InPersonFormsはiPhoneとiPad向けにApp Storeで配信しています。

よくある質問

署名済みフォームから回答を取り出すにはどうすればいいですか。

「記録」タブでテンプレートの記録を開き、CSVとして書き出します。提出1件につき1行になり、クライアント名、署名した日付と時刻、バージョン、そしてフォーム上の各データ項目の列が並びます。

書き出されるのはすべてのデータですか、それともいま見ている範囲だけですか。

いま見ている範囲だけです。書き出されるのは、検索、絞り込み、並べ替えを順番に適用したあとのリストです。1か月分や1人のクライアントに絞り込むこと自体が、書き出す範囲を決める方法になります。

見出しには表示ラベルと項目名のどちらを選ぶべきですか。

人がスプレッドシートを読むなら表示ラベルです。画面で見えているのと同じ表記になります。システムが読み込むなら項目名です。ASCII文字で、ラベルを変えても変わらず、アプリの表示言語にも左右されません。

Excelで正しく開けますか。

開けます。ファイルの先頭にはUTF-8のBOMが付くので、Excelが文字コードを正しく認識し、アクセント記号のついた名前も文字化けしません。カンマ、引用符、改行を含む値はRFC 4180に従って引用符で囲まれます。

署名はCSVに含まれますか。

含まれません。署名欄とイニシャル欄は対象外です。手で描いた署名には、スプレッドシートの中で意味を持つテキスト値がないためです。何に署名したかの記録は署名済みPDFのほうが担い、CSVはデータのためのものです。

CSV書き出しは無料版でも使えますか。

使えません。CSV書き出しはProの機能で、書き出す範囲を絞り込むための並べ替え、検索、フィルタも同じくProに含まれます。

InPersonForms は PDF の記入と署名をすべて端末内で完結します。無料で始められて、サブスクもなし。

InPersonForms をダウンロード

次に読む

← 記事一覧