Google Sheets - Removing the used items from drop-down lists - validation

In Google Sheets I have a column containing a list of available Serial Numbers (say, column A).
Somewhere else (say, column B) a user must choose the serial number used among those listed in column A; I use Data Validation with a drop-down list in order to prevent the user to use a non-existent serial number.
My goal is to allow the user only choose the remaining available serial numbers, by removing from the drop-down list all the serial numbers already used.
By using the FILTER function, combined with MATCH and ISNA, I am able to create a column of available serial numbers (say, column C). The function used is:
=FILTER(A2:A;ISNA(MATCH(A2:A;B2:B;0))).
Then I moved the Data Validation list of column B (where the user must select the serial number used) from column A (all serial numbers) to column C (filtered serial numbers). I also added the "Reject input" in the Data Validation form, so I can allow the user only to enter a value listed in column C.
It works, but all the previously entered serial numbers on column B have a small red triangle showing that data is not valid. Of course, this happens because all entered values are removed from the data validation list.
I could simply ignore the red triangles, but I don't like this solution that much, because it always looks like there's an error on the sheet, and when we will have many data inside it would be difficult to distinguish this problem from any others.
Is there a different way to solve?
Thanks

with formula only you can use:
=TRANSPOSE(FILTER(A2:A, NOT(COUNTIF(C3:C4, A2:A)), A2:A<>""))
=TRANSPOSE(FILTER(A2:A, NOT(COUNTIF({C2; C4}, A2:A)), A2:A<>""))
=TRANSPOSE(FILTER(A2:A, NOT(COUNTIF(C2:C3, A2:A)), A2:A<>""))
then hide columns and use validation:
where this is the result:
demo sheet
update:
1st fx:
=TRANSPOSE(FILTER(A2:A, NOT(COUNTIF(C3:C4, A2:A)), A2:A<>""))
2nd and every next fx:
=TRANSPOSE(FILTER(A$2:A, NOT(COUNTIF({
INDIRECT("C2:C"&ROW()-1); INDIRECT("C"&ROW()+1&":C")}, A$2:A)), A$2:A<>""))

Related

(Google Sheets) How to remove certain dropdown options after a certain number of cells with said option is met?

I'm currently working on a google sheets file to organize the members of my class. I am currently assigning committees and I want them to choose their committee in Google Sheets. However, I want to apply only a certain limit per committee.
What I want to happen is, if a certain choice has been chosen i.e. 5 times, I would like that choice to disappear from the choices and would make it reappear again if ever a students change their choice, however, I do not know how to do this in terms of a formula or through data validation.
I would really appreciate your help. Thank you!
Here's a toy example you may be able to adapt to your needs:
Create a list of options a,b,c,d,e in A1:E1 of Sheet1
Create a list of the limits for each option in A2:E2 (for instance 2,1,3,5,3)
Create a list of people Person1,Person2,Person3 in G2:G4
Apply data validation to H2:H4:
Use criteria 'drop down (from a range)'
Set the data range to =Sheet1!$A3:$E3 (only lock columns, not rows)
In A3 enter the following formula:
=lambda(people,choices,list,limits,
makearray(counta(people),counta(list),lambda(r,c,
if(index(choices,r)<>index(list,,c),if(countif(choices,index(list,,c))<index(limits,,c),index(list,,c),),index(list,,c)))))(
$G$2:$G$4,$H$2:$H$4,$A$1:$E$1,$A$2:$E$2)
We are using MAKEARRAY to create a 2D array with the list of options on each line, however we are asking it to omit elements of the list from each line if they haven't already been selected AND a preset limit on the number of selections for that option has not been reached. Obviously in a 'real' example you would place the data range for validation in a separate sheet and probably hide and protect that sheet as well. You could also potentially use an array literal of strings rather than a cell range as the list of options in order to make the validation list formula completely self-contained.

Google Sheets data validation's input reject option is not working

I have a google sheet something with 3 columns Column Name , Tech Club Name , Tech Club Email id . I want to have column Tech Club Email id to have unique entries . If someone tries to enter a duplicate entry it should reject it with an error message of Entry already present .
I have this data validation rule:
forumula: =COUNTIF($C$2:$C10,$C2)<2
Instead of the formula whenever I enter duplicate entry in the column it doesn't reject the input it only gives warning on the previous input as shown below:
How can have a data validation rule which simply rejects user from entering the duplicate value ?
The cell range entered in the Data Validation Box should not be the whole column (which contains 1000 rows), but rather a more limited range. If you want to check between the C2 and C10 cells, I would suggest changing the cell range from:
Sheet1!C1:C1000
to:
Sheet1!C2:C10
although you can choose a wider range if you want, it just cannot be the whole column.

Script for copying and pasting value only (GOOGLE SPREADSHEETS)

I have the following idea I can't implement:
There is a row with given table plate numbers (column B) and there is a second row with names which are copies by "vlookup" formula from another spreadsheet and in case there are no numbers found, the text should be filled in manually. I have added the formula which leaves cells blank:
=if(isna(index('spreadsheet1'!A4:A1002;match(B16;'spreadsheet1'!B4:B1002;0)));"";index('spreadsheet1'!A4:A1002;match(B16;'spreadsheet1'!B4:B1002;0)))
But sometimes the person assigned to a car plate changes and thus, after taking this value, I have to make as easy as I can to paste values only (the problem is the person who will add data may make mistakes) - I have created a button and want to assign a script which will check if the value in the column B has a name (not empty =""), then it should copy it and paste value only at the same place but all other cells which will be empty should stay with formulas inside them for further addition of a person to a new plate number or to be added manually.
Every new column will be filled in one by one and would like this script to work for constantly. Do you have any ideas or hints how I can implement it?

Populate C with max value of B for each row of related values in A

Goal: Using Excel 2010, how can I get each change number's (listed in column A) to show the Max Business Criticality (from column B) to display in column C via formula(s)?
Let me explain: I have a list of Change tickets (in column A) where the change number will likely be listed multiple times (due to different locations and servers). This means each change number may be listed once or may be listed 20 times. Each occurrence of the change number is assigned a Business Criticality (again, based on different locations and servers). This value is captured in column B.
In column C, of the same table, I need to return the max criticality associated with each change and have that be displayed in each row (see image for desired result - colored for ease of differentiating change numbers).
Everything I've seen involves creating a distinct list of change numbers separate from the source table. I'd rather not do that.
How can I get each change number's MaxCrit to display in column C?
I'll try to attach the file if I can figure out how (and/or if I have rights to do so).
In C2 with Ctrl+Shift+Enter and copied down to suit:
=MAX(IF(A:A=A2,B:B))
with

Using Views to add number of forms together

I am creating a database for software product keys at work which means having to document every product key in notes. I want to be able to say in a column how many of these product keys are assigned and how many are not. I have assigned a basic binary value to every form which can either make it assigned or not and leads to give the form a structure such as this ( the keys are false obviously)
I want to add a line next to Office 2013 that says XX Assigned, XX Unassigned for instance and I want this to work across every possible product I add to the database. Any ideas?
I am not sure that it is possible exactly as you wanted.
After "Assigned" column add a column, with 1 set as the column value (look at the picture below).
Open the second tab of the created column and set "Totals" to "Total" and check "Hide detail rows".
In this case just after "Assigned" column there will be a column with number of entries, which belong to this category.

Resources