简体   繁体   中英

Alter data in google spreadsheet sheet via other sheet in the same spreadsheet

Question:

Google Spreadsheet is great for viewing/filtering data, and great as DB of applications.
But is it possible to edit data on a sheet via another sheet?

Functional description:

We are a small group (5) non nerd that keep track of tasks we do. We do this via a google spreadsheet, this works great :) We recieve tasks via the phone and these get added to the sheet1. When someone pickups a task he/she addes his/her name to the appropriate column in sheet1 of the task (row). We keep track of status updates etc, per task.

Reason for change:

Sheet1 of this spreadsheet is now to big to get a clear overview of the tasks of 1 person. So I have 20 tasks in the big spreadsheet, but since ordering is not handy when new tasks are added, it would be nice to have a seperate sheet per person. This can easily be done via the query() function. But this is a one-way street. you can not alter this data and get it back in the main sheet. And using sheet1 as a report is also not handy, because how do you add new tasks?

Question rephrase:

  1. So is it possible to alter data in the "main" sheet via an subset of the data, available in an other sheet of the same spreadsheet?

  2. If not, is it possible to use a google spreadsheet as in interface (read/write/update) to an sqlite database in google app engine ?

So is it possible to alter data in the "main" sheet via an subset of the data, available in an other sheet of the same spreadsheet?

For a Google Apps Script solution , my fairly general ideas would be:

  1. If there isn't a unique identifier for each row in the master sheet, create one. This could be just a time stamp column, which itself could be automatically generated with an onEdit function.

  2. In the viewing sheets, the user would edit information by running a script (perhaps from a custom menu) that will present an input box to edit the active cell. But of course when the edit is confirmed, the script will update the appropriate cell in the master sheet, based on the unique identifier; and your QUERY function will propagate that change back to the viewing sheet. (Caveat: with concurrent users viewing the spreadsheet, I have found getting the active cell to be unpredictable, you might need to use a different approach to specify what you want to edit.)

  3. If you wanted to be able to create records from the viewing sheets, rather than navigating to the master sheet and entering them directly, you would probably need a "new record" script as well.


For a solution using native spreadsheet functions and tools :

There is simply no way of doing the "bidirectional" task exactly as you specified. You might be able to get a workable solution with the built-in filter tools, however.

  1. Select the raw data, and click the filter button (or Data, Filter). Then using the drop-down arrows that appear, you can filter the data in place to what you are concerned with at the time. The advantage is that you can edit the data easily in the familiar spreadsheet interface; the disadvantage is that all concurrent viewers see the same filter (that is each user cannot have their own unique filtered view with this method).

  2. Alternatively, use List View (View, List). This is a different interface that offers slightly more basic filtering and sorting tools than option 1. However it has a clear advantage that concurrent viewers can filter the data differently to one another. Editing is a bit clunkier (you need to click the Edit button on the left), but still possible.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM