1

質問:

Google スプレッドシートは、データの表示/フィルタリングに最適であり、アプリケーションの DB としても優れています。
しかし、別のシートを介してシート上のデータを編集することは可能ですか?

機能説明:

私たちは小さなグループ (5 人) であり、私たちが行うタスクを追跡する非オタクです。これは Google スプレッドシートを介して行いますが、これはうまく機能します :) 電話でタスクを受け取り、それらがシート 1 に追加されます。誰かがタスクをピックアップすると、タスクのシート 1 の適切な列 (行) に自分の名前を追加します。タスクごとにステータスの更新などを追跡します。

変更理由:

このスプレッドシートのシート 1 は、1 人のタスクの概要を明確に把握するには大きすぎます。というわけで、大きなスプレッドシートに20個のタスクを入れていますが、新しいタスクが追加されたときの順序付けが面倒なので、1人ごとに別のシートがあるとよいでしょう。これは、query() 関数を使用して簡単に実行できます。しかし、これは一方通行です。このデータを変更してメイン シートに戻すことはできません。また、シート 1 をレポートとして使用するのも便利ではありません。新しいタスクを追加するにはどうすればよいのでしょうか。

質問の言い換え:

  1. 同じスプレッドシートの別のシートで利用可能なデータのサブセットを介して「メイン」シートのデータを変更することは可能ですか?

  2. そうでない場合、Google App Engine の sqlite データベースへのインターフェイス (読み取り/書き込み/更新) として Google スプレッドシートを使用することは可能ですか?

4

1 に答える 1

0

同じスプレッドシートの別のシートで利用可能なデータのサブセットを介して「メイン」シートのデータを変更することは可能ですか?

Google Apps Script ソリューションの場合、私のかなり一般的なアイデアは次のようになります。

  1. マスター シートの各行に一意の識別子がない場合は、作成します。これは単なるタイム スタンプ列である可能性があり、それ自体が onEdit 関数で自動的に生成される可能性があります。

  2. ビューイング シートでは、ユーザーはアクティブ セルを編集するための入力ボックスを表示するスクリプトを (おそらくカスタム メニューから) 実行して情報を編集します。もちろん、編集が確認されると、スクリプトは一意の識別子に基づいてマスター シートの適切なセルを更新します。QUERY 関数は、その変更を表示シートに反映します。(注意: 同時ユーザーがスプレッドシートを表示している場合、アクティブ セルを取得するのは予測できないことがわかりました。編集する対象を指定するには、別の方法を使用する必要があるかもしれません。)

  3. マスター シートに移動して直接入力するのではなく、ビュー シートからレコードを作成できるようにしたい場合は、おそらく「新しいレコード」スクリプトも必要になるでしょう。


ネイティブのスプレッドシート機能とツールを使用したソリューションの場合:

指定したとおりに「双方向」タスクを実行する方法はありません。ただし、組み込みのフィルター ツールを使用して実行可能なソリューションを取得できる場合があります。

  1. 生データを選択し、フィルター ボタン (または [データ]、[フィルター]) をクリックします。次に、表示されるドロップダウン矢印を使用して、その時点で関心のあるデータにフィルターをかけることができます。利点は、使い慣れたスプレッドシート インターフェイスでデータを簡単に編集できることです。欠点は、すべての同時ビューアーが同じフィルターを表示することです (つまり、この方法では、各ユーザーが独自のフィルター処理されたビューを持つことができません)。

  2. または、リスト ビュー (View、List) を使用します。これは、オプション 1 よりもわずかに基本的なフィルタリングおよび並べ替えツールを提供する別のインターフェイスです。ただし、同時閲覧者が互いに異なる方法でデータをフィルタリングできるという明らかな利点があります。編集は少し面倒ですが (左側の [編集] ボタンをクリックする必要があります)、それでも可能です。

于 2012-10-26T20:20:56.157 に答える