Reject input if the adjacent cell is empty - validation

Using below formula to Reject input if the adjacent cell is empty.
I am trying to made the condition for the Data validation rules that if R2:R500 is empty then Column M will Reject the input when try to add anything but below formula is not working in Validation.
=NOT(ISBLANK(R24))
Here is my Sheet

Try this validation setup.
=$R2:$R500<>""

Related

Google sheets -> Data validation -> Custom formula -> How to refer to the currently validated input

I know how to put in validation rules that involve checking values of other cells,
but how can I compare freshly entered data against other cell values?
For example if I would like to limit data entry to:
"Only numbers that are smaller or equal to cell value A1"
try:
=(B1<=A1)*(ISNUMBER(B1))

Copy and paste ascending cells in data validation

I'm currently setting up a dependent drop down & I've now got it working. The relevant drop-down is in cells L9:L65 with the data for the drop-down being provided in A68:Z68 through to A121:Z121 via the following formula
=ARRAYFORMULA(IFERROR(IF('390'!J9:J65="Livery", TRANSPOSE(FILTER(Operators!$C$2:C, Operators!$C$2:C<>"")), IF('390'!J9:J65="Operator", TRANSPOSE(FILTER(Operators!$B$2:B, Operators!$B$2:B<>"")), ))))
In cell L9 I've set the following data validation as a list from a range
A68:Z68
Which works perfectly. However, when I copy and paste the other cells in the L column all cells relate to A68:Z68 instead of running in ascending order meaning I've just had to manually amend the data validation in L10:L65 to ensure it fetched the correct data and it nearly sent me mad. Considering some of my sheets will incorporate over 200 rows doing this manually is going to prove tedious and time-consuming so I'm hoping someone can show me a way to quickly get each cell corresponding to the correct row without manual intervention?
by standard means (eg. without using a script), this is possible to achieve only manually setting it up row by row (cell by cell) for the whole range.
http://www.chicagocomputerclasses.com/google-sheets-apps-script-dynamic-dependent-dropdown-data-validation-lists/

Data Validation Custom Formula with 'OR'

I am trying to create a custom data validation formula to determine if the data entered into a cell is a valid first line of address.
The only way I can figure this out is to use begins with, but it would need to contain the 'OR' function.
so for example if the data begins with a number, the letter "F" followed by a number or the word "flat" followed by a number the the data entered should match the validation entered for that cell.
But I can not seem to find the right formula for that method.
If you could help me with this it would be appreciated.
For your examples:
=regexmatch(A1,"^\d|^F\d|^flat\d")
It is case sensitive. REGEXMATCH.

How to filter entries that are not duplicates of entries from others columns in Google Sheets?

I have a column called "Masterlist" which contains values from Lists 1, 2 and 3. It also contains values which are present only in Masterlist.
How can I filter them, like shown at the attached image in Google Sheets?
EDIT: The lists will have more than one entries.
Solution 1
In E2, type in
=filter(A2:A,arrayformula(iserror(match(A2:A,B2:D2,0))))
Check the documentation of filter or match for how to use them. With match, be sure to include the third argument. That is an easy one to forget. arrayformula iterates a formula over a range. The output can be a range, in which case it will print over any un-written cells. When arrayformula interacts with match, it only iterates over the first argument, which is why this solution works.
EDIT: If you have a two-dimensional range to match to, you need to collapse them into a one-dimensional range using the concatenation operators such as
=filter(A2:A,arrayformula(iserror(match(A2:A,{B2:B4;C2:C4;D2:C4},0))))
You can experiment with endings without row indices and let Google Sheets select an ending index for you.
Solution 2
Use the native Filter View feature. Good for the scenarios where you don't need to separately print a list of the unique values in "masterlist".
Go to Data -> Create Filter View
Use the relevant help pages to navigate yourself. I can see a few ways to implement what you desire, including
filter by value on the same column (selecting the actual values manually);
filter by value on a "helper column" where you include a formula in the cells to check whether the content in "masterlist" belongs to the list you want to check against. You can use the match and iserror combo here;
custom formula using a similar formula as above.
If your column A, ie. the "masterlist", is something a user would add to, then Data Validation can be used to good effect in conjunction with Filter View.

How to sort only those rows which have no blank cell?

I have a Google Spreadsheet with two separate sheets. The first one is just a big list of names and data, and the second is supposed to be a sorted listing of all the data on the first sheet (sorted by, say, last name). Here is the current way I am defining the second sheet:
=sort(sheet1!A2:L100, sheet1!D2:D100, TRUE)
Which works fine for the most part, except for one issue: in sheet1, some of the cells in 4th column (column D) are blank. How can I change the formula so that the sorting ignores such rows which has a blank cell in column D?
The formulas i tried but got undesirable results :
=arrayformula(if(istext(sheet1!D2:D100), sort(sheet1!A2:L100, sheet1!D2:D100, true), ""))
It sorted as desired but with one issue - blank cells were not pushed at the end but scattered in between the rows.
=arrayformula(sort(filter(sheet1!A2:L100, istext(sheet1!D2:D100)),sheet1!D2:D100, true))
Though the filter part does its job perfectly but when coupled with sort, it is giving an error : Mismatched range lengths.
To filter out the rows with blank cells in column D, you could do something like #2, but as the error message suggested, the second argument would need to be filtered as well to ensure the ranges are the same length. Fortunately there is an easier way, and that is to use column indices rather than ranges:
=SORT(FILTER(sheet1!A2:L100;ISTEXT(sheet1!D2:D100));4;TRUE)
Alternatively you can use the QUERY function for this sort of thing:
=QUERY(sheet1!A2:L100;"select * where D != '' order by D";0)
For anyone looking this, the accepted answer works great if filtering out blank cells that are truly blank, but if the cells contain formulas that evaluate to blank (""), ISTEXT will evaluate to TRUE and blanks will not be filtered out. I modified the accepted answer slightly to work in my situation, in which I had cells containing formulas (that evaluated to "") that I wanted to filter out:
=SORT(FILTER(sheet1!A2:L100,sheet1!D2:D100 <> ""),4,TRUE)

Resources