Right, here's the problem.
People fill in some data on a Google Form which is automatically collected in Sheet1 of a spreadsheet. Some formulae are applied as it comes in and some results are calculated. On Sheet2 of that spreadsheet there is a cell where someone can type their name and a simple LOOKUP formula gets their result from Sheet1 and displays it.
The real data and formulae are vast and quite complex but the essence can be simplified in this example:
So far, so good. I can put a link to the sheet at the end of the survey. But...
People fill in some data on a Google Form which is automatically collected in Sheet1 of a spreadsheet. Some formulae are applied as it comes in and some results are calculated. On Sheet2 of that spreadsheet there is a cell where someone can type their name and a simple LOOKUP formula gets their result from Sheet1 and displays it.
The real data and formulae are vast and quite complex but the essence can be simplified in this example:
Sheet1: responses and the calculated 'feedback' |
Sheet2: an example of how a respondent could see their result |
So far, so good. I can put a link to the sheet at the end of the survey. But...
Problem #1
Users would need editing rights in order to be able to enter their name. How can I publish the spreadsheet but only give editing rights to one sheet.
Problem #2
Users can see (and edit!) Sheet1 too which could be disastrous. How can I hide Sheet1 without their editing rights being able to access Unhide from the menu?
Problem #3
Even if I can restrict users to seeing only Sheet2, there is a danger of their messing up the formula in D4 that shows the result, rendering it useless for the next user. How can I protect everything except cell B4? (The 'protect range' instructions seem very confusing indeed in practice!)
Problem #4
Assuming that one or other of these problems isn't readily soluble, how about having Sheet2 accessible as a totally separate file so that there would be no access to the source data and other people's data? In Excel it is possible to link to data across different files but how can you do this in Google Spreadsheets? There is something called importrange which did collect and display the data from one file to another but it didn't collect the formulae so no matter how often a user tried to enter another name in the sample above, he or she remained Fred (or whoever had been displayed when importrange was run).
I am sure that there's a script or some way to get this working but it has escaped me for a day or two now. So over to anyone out there who can think of a nice solution.
Here is a link to the simple sample if you want to work with it. (Make a copy - or several people working on the same file could get confusing!)