Restricting a certain individual with Editor permissions from seeing data entered by others in a shared Google Sheet - google-sheets

I have a scenario where a fixed number of individuals (say 4-5) will be entering data to the same Google Sheet. So basically I will be the owner of the Google Sheet and will be sharing it with 4-5 individuals. What I need is; a certain individual A should only see data entered by him and not by rest of the individuals. How can I achieve this? All the individuals will need to enter their data to this sheet so all of them will have 'Editor' permissions. But then a specific individual A should not have access to what others are entering. It's ok if A can see data entered by himself.

this issue is recommended to be handled by series of IMPORTRANGEs and individual spreadsheets for each person where you as "administrator" will gather data from each minion into your master spreadsheet. this way no one will get access to sensitive data apart from you. in case there is a subset of the dataset you need to share you can export it into each spreadsheet from your master sheet.

Related

Allow user to refresh data connection to BigQuery on GoogleSheet

I would like to setup our organisation's Bigquery IAM so that some users would have access to views under our "Report" dataset, which are queried on Google Sheets. Users with edit rights on these Google Sheets should be able to hit the refresh button and access latest data.
We achieved this by granting some user access to the entire project, but that's very poor security. Instead, I want to limit their access to either the entire "Report" dataset or to specific views under that dataset.
We tried to define some custom role and share the dataset but there is no "refresh" button on the sheet for the user to refresh.
Sharing the dataset with a viewer roles showed the Refresh button but they were not allowed to refresh:
What did we miss?
For access to BigQuery data in Google Sheets, one should have:
An Enterprise Plus, G Suite Enterprise for Education, Enterprise
Standard, or Enterprise Essentials account.
Access to BigQuery.
A project with a billing setup in BigQuery.
A BigQuery Job Creator role on the selected billing project.
BigQuery Data Viewer role on the datasets containing the selected table.
According to this document:
If you share a sheet with someone who doesn't meet the criteria above,
they'll be able to see analysis created with Connected Sheets and
perform regular Sheets operations, but they won't be able to refresh
it or create their own connected sheet.
If you share a sheet with someone who doesn't have access to the correct data tables, they won't be able to create or refresh Connected Sheets analysis, and will need to contact the BigQuery admin.

data entry form in google sheet for multiple users not working when accessed simultaneously

I've created form in google sheet, so that multiple users can add data, modify & delete.
However, it is not working properly when multiple users are working on it simultaneously.
For an example, two people are working on the sheet. User A and User B. If user A is typing something user B is also able to see and user B will be able to enter the detail, but it will change the details which are being entered by user A. Technically same sheet is opened for both the users and details keeps on changing what users are changing.
Ideally, if user A is entering some details user B should not be able to see it and form should be blank or unique for user B, so that both the data won't clash. I want it to be like the way google form is there wherein form will be blank when any user is opening it. (I have tried google form for my work, but as there are too many drop downs google form takes time to load and work gets slow that the reason I am trying to find the option in google sheet).
google sheet link
Above is the google sheet which you can open and check the form and coding. Also, please test it with a different id to test for multiple users.
Let me know if there is any workaround for this. Also, let me know if you need any other details.
Answer:
This just isn't possible. Sheets is meant to be a collaborative tool; what's edited by one person will always show up for others. You need to use a different tool, for example like a Google form for data entry, but having data not being edited in other open versions is just not workaroundable.

Trying to create a custom process that shares specific information

I work for a high school that has a regular four day school week and calls students in for "Reteach and Enrichment" on Fridays. To help organize the schedule for this, the school has created a Google Sheet that lists all of the student names and allows the teachers to fill in what time they would like any particular student to come to their class that Friday. This is working fine for the school's organizational side, but informing students of their assignments is currently a bit of a nightmare.
Because students will try to get out of anything, we have to have documentation indicating that we "told the students they need to come to our classroom on Friday". This is currently done in the form of giving a student a slip of carbon copy paper informing them of the time they are called in. As you can imagine, this is extremely time-consuming and full of holes since the students can throw the paper away or claim "they never got the paper" even though we've got a second copy of that paper indicating that it was filled out. But I digress.
The reason I'm writing to you fellow internet people is that I've taken on the task of trying to streamline the process of notifying the students of their schedules for Fridays. Because of privacy issues, we cannot give the students read-only access to the master list for Fridays, but I'm looking for a way to inform them of their specific information. My first thought was to write a program that would make a google sheet of each line on the master sheet, and share that sheet with the student whose information was on that line. This seems painful to set up and manage though and will lead to a lot of documents in google drives that are only needed for a week. The second problem is that I'm not sure what type of application I could use to run a program that would need to be able to access one google sheet, copy information from it, create a new google sheet, paste the copied information, gather the correct account the information needs to be shared with, and share read access to the new sheet that was created. I was thinking of using Auto Hotkey, but I know there's got to be a better solution to this problem.
If you have any suggestions for a different approach, please let me know. I believe that I can get an automated process to do what I described above if I can get the process down to a rote set of steps to take for each line on the original google sheet. But I'm hoping there's a way to do like an XLookup or Vlookup from a new sheet that references the original or something.

Sharing a created Google form with linked sheet for others to use

I have created several systems with Google Forms (and linked sheets) to log services provided and timekeeping. I would like to share these systems with other people to use as a template for their own data. Is there a way to easily do this keeping my formula's intact?
Successfully: I have found a way to share the form only as a template by copying the URL into an emailed hyperlink changing the ending from edit to copy.
Cumbersome but ok Migrant Service Log: This method does not seem to work entirely for spreadsheets. It still asks me to give them access to the original document. I can set access on the original to view only and limit the time to one day.
Unsuccessful Clock In/Out: The new "copy" of the spreadsheet is not automatically linked with new "copy" of the Forms so it does not update when a new response is added. I must link it in form. This becomes more of an issue with my sheets that have formulas based on these responses. It is now necessary for each new user to manually link and rename the sheets to make them function correctly.
Clock In/Out System (attendance purposes)
Clock In Form
Clock Out Form
MSA Sheet
Attendance Office Sheet
Migrant Service Log (team communication purposes)
Migrant Service Log Form
Migrant Service Log Sheet
I would like for them to all be user-friendly and easily shared while keeping everything confidential to the user.
if you want to keep your formulas as a secret you can set up the 2nd spreadsheet and use IMPORTRANGE formula to get data over and then just simply link the 2nd spreadsheet somewhere on the end of the form.

Monitoring a google sheet for changes and validating data

Problem: Write a program that creates a spreadsheet and constantly monitors it for changes. Any row that contains "invalid data" (according to a rule defined by a regex) in one of the columns should be deleted. For example, lets say that column A must be a valid date, while all the other columns can hold arbitrary data. Then, if someone enters an invalid date into cell A5, all the data in row 5 should be removed.
Attempted solution:
The program will have to deal with a lot of data, so when i am monitoring the sheet, i would like to obtain changes made to the spreadsheet as just the change. That is, i dont want to have to request the entire spreadsheet of data every time an edit is made. The only way that i have found to obtain only edits is through google apps script, but i have not found a way to create a spreadsheet along with an apps script bound to it. Is this possible through google apis, or is there a better way to tackle this problem?
I also looked into data validations as a possible solution, but I cannot find a setting that deletes an entire row when one specific column is invalid.

Resources