あとはEXCEL上で好きに料理すれば良いと思います。フォーム上からVLOOKUPを使って必要なデータを取れば印刷専用のEXCELを作ることも容易いでしょう。このデータ領域は「全て更新」を選ぶことでいつでも更新できます。EXCEL→Docsへの更新はできませんが、元々フォーム印刷目的ですのでセキュリティ的にもこれでいい用途もあるのでは?★VLOOKUPについて知りたい方はリクエストしてくださいね!(書いてたら消えた)これでGoogleDocsをコアにして、確定申告やら請求書やらの帳票関係もクラウド化して、年賀状印刷などの紙が絶対必要な顧客管理アプリも統合させる見通しができました。クラウドに乗せられないEXCEL守秘データとの整合もとれるし、謎の外部サービスにGoogleのパスワードをいれさせたりしないし、HTTPSで接続しているし(URLで鍵が丸見えなのでOfficeの接続を検証しないとセキュアとはいいがたいですが)可能性のある方法です。Scriptは便利なのですが、時にはプログラム上での計算処理ではなく、スプレッドシート側の関数で処理したいこともあると思います。可視化性やメンテナンス性を高めるためにこういう柔軟性は必要だと思います。ある例としてはGoogleFormで日付を入力させた場合です。入力者に出張開始日と出張終了日をYYYY/MM/DD形式で入力させることは難しくないでしょう、でも曜日や出張日数を自動計算できないシステムなんてちょっと機能的にも信頼されないと思います。スプレッドシート側では以下の様な形で収納したいとしましょう。フォームからはK列とM列にデータが入ります。L列,M列,O列はそれぞれL2=vlookup(weekday(K2),曜日,2,false)M2=vlookup(weekday(M2),曜日,2,false)O2=M2–K2+1といった式を入れておきたいわけです。ここでは「曜日」という範囲を別のシートに以下の様なデータで定義しています。EXCELと同じような名前定義が使えるのは便利ですね。土さて、スクリプトです。入力されたデータを自動処理するあたりで文字列として「=vlookup(weekday(K2),曜日,2,false)」をセットしてみるのですが、どうもセルの参照である「K2」が正しく働いてくれません。やってみた挙句、以下のように相対参照(いわゆるR1C1形式)で表記すれば自動的に正しいセルのアドレスを取得してくれるようです。これはこれで便利ですね!コードに落とした場合は以下のとおりです。Scriptはクラウド側で演算してくれるので、利用者が演算コストを意識する必要はないのですが、スクリプト側のタイムアウトを防ぐためにもスプレッドシート側で演算できるものはできるかぎりスプレッドシート側で処理させたほうが良いと思います。スクリプト側にハードコーディングしてしまうと、スプレッドシート側でいろいろやりたいエンドユーザ(EXCELスキルがある人とか......)を突き放すことにもなります。なく考え方、アルゴリズムが編み出せるか?・図などを使い他人に説明できるか?・仕様を短く描写伝えられるか?学生が「コミュニケーション能力」と思っている能力がいかに会話力だけでないかわかる。就活指導ガッツリしますよ~。大学の外で野生の研究者として長年生きてきた人でかつ最近まで就活毎年してた人、という「ポスドクサバイバル時代」ならではの能力かもしれません。三品さんはビジネスも教えられますよね。17:39:18これでGoogleDocsをコアにして、確定申告やら請求書やらの帳票関係もクラウド化して、年賀状印刷などの紙が絶対必要な顧客管理アプリも統合させる見通しができた。クラウドに乗せられないEXCEL守秘データとの整合もとれるし。18:49:32大学前は大混雑。センター試験初日お疲れ様でした。18:50:39これから息子の誕生日。20:36:35プレゼントはフランスの骨董店で手に入れた英国海軍用コンパス。ファービーをなるべくきれいに分解する方法。1月25日(金)18:30〜開催です。景山えりかさんを迎える他、研究者の皆さんが月探査について熱く語ります!要事前申込。詳しくはこちらのURLです。