2017-06-20 5 views
0

プロジェクト:ドナーフォームのソートと自動化。毎日、その日の新しい寄付者と一緒にメールでスプレッドシートファイルを受け取ります。私のプロジェクトの第一歩は、[毎日のエクスポートデータ]からデータを取得し、毎年必要な情報を再フォーマットして[年次データ]の最後に追加することです。マイデータの管理:Appsスクリプトとシート機能

例: [ミセス] [ジェーン] [ドウ] [$ 30]データとして毎年データに押し込まれる毎日のエクスポートから....

[ミセスJane Does] [$ 30]

問題:私はスプレッドシートで作業するのが初めてです。私は約20時間をGoogleのシートとそれを使用して私のJavascriptをブラッシングアップする方法を学ぶことについて学ぶことについて学んだ。私は、私のjavascriptのスキルを使用/改善できることに興奮していましたが、内蔵された関数の膨大な配列が記憶されていれば、Apps Scriptなしで多大な労力を費やすことができます。したがって、私の質問は多面的です。

まず、組み込み関数で十分であればカスタムスクリプトを書くのは悪い習慣ですか?ドキュメンテーションは完全ではありますが、あまり説明がつかないように思えますし、それを実行する方法を理解するために邪魔されています。私は自分自身で操作を行い、もっと学び、より楽しいことをするJSを書くことができますそれ。

第2に、私の現在の計画は、[データのインポート]ボタンを使って年次データから起動するスクリプトを作成することだけです。そのスクリプトはSpreadsheetApp.openByIdを介してImport Dataを取得し、その値を取得し、配列をプッシュして、毎年のデータ用に新しくフォーマットされた配列を作成するときにそれらをダンスさせます。次に、これらの新しい配列を年次データの末尾に書きます。このアプローチは有効かつ/または望ましいか?

私はカスタムスクリプトから組み込みの関数を呼び出すことができないことを知っています(そして本当に迷惑です)。だから、もし私がカスタムスクリプトなしでこれをやろうとすれば、どうすればいいのかわかりません。おそらく、年次データシートから呼び出すことができる= getrange(nestamillionprebuiltfunctions)がありますが...

1)ボタンから事前にビルドされた関数をトリガーする方法がわかりません。私がARRAYFUNCTIONを理解すると、データを取った瞬間を爆破してしまうと私にはわかっているので、ボタンをクリックするたびにデータを別のシートから事前ビルドされた関数を使って引き出し、そのデータを最後に追加する方法もわかりません離れてから引っ張る。

2)シートのフィールドに字下げがないデータ入力の複雑な操作について誰がどのように考えることができるかわかりませんが、あなたがしなければならない特定の時点でのようです。

私はこのスクリプトについてに苦しんでいますが、私がコミットになる前に、要約すると、Imは私の一般的なアプローチについてのフィードバックを探して多くの質問があります:あなたがタスクにあなたを行うためのイニシアチブを持っているようにP

答えて

0

それは音をGoogle Apps Scriptを使用して説明し、安心感を求めています。 GASは私の経験とあなたの仕事とあなたの言葉の好みの解釈に基づいて、私にとって最も論理的なようです。

データ要素をスプレッドシートAからBへ、および/またはCol CからDへと移動するなどの作業について説明しています。値を結合して、単一のセルに新しい組み合わせを作成します。これは、GASスクリプトを使用すると簡単に実行できます。

  • SpreadsheetApp.getActiveSheet()。openById(ID)メソッド

  • シートなど.getSheetsなどレンジクラスのメソッド()[0]と.getRange(行、列、numRowsの数、numColumnsの)

  • 以降.getvalue()または.getValues()スクリプト内の数字/文字列を操作します。

  • .setValue(値)を使用すると、必要な場所に配置できます。

何かがあなたが知っていると快適さのために言うことができますが、あなたが組み込み関数で開始するシートの明確なビジョンやバックグラウンドを持っていないとあなたはとにかくスクリプトに好むように、それが聞こえます。関数バーにネストされたスプレッドシート関数を使用することは本当に痛いのですが、ボタンや自動インポートなどの面白いことをしようとしている場合には究極的に制限されます。

+0

ありがとうございます。あなたはその権利を持っています。私はスプレッドシートのバックグラウンドを持たないように、自分自身でhtml/css/jquery/wordpressを教えるために過去数ヶ月を費やしました。それは、新しいスキルを習得しようとしているImと言われているので、サイドバーの特定の設定を恐れず、「正しい方法でやってください」。安心していただきありがとうございます。 –

+0

個人的には、同じスプレッドシートに数学やビジネス計算で多かれ少なかれ対応する行や列にぶら下がっているのであれば、スプレッドシート関数はうまくいくと思いますが、スクリプトはシート間を移動するときにロジックをより合理化します条件を使って複数の連続したステップを経て進行するもの。 –

+0

あなたの考えをありがとう、ネイサン。それは私の本能が私にも教えてくれるものですが、Im以来、私はそれらをまだ信じていません。 –

関連する問題