ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Data Validation - mixture of options (https://www.excelbanter.com/excel-discussion-misc-queries/26983-data-validation-mixture-options.html)

Jack Sheet

Data Validation - mixture of options
 
Hi all

I want to set data validation on a cell so that it will accept the following
(and only the following) text strings:
(1) "BR" (literally)
or
(2) "NT" (literally)
or
(3) "nA" where n is any positive integral numerical value including zero and
A may take any of the values "L", "P", "T", "V" or "Y"
or
(4) "An" where n is any positive integral numerical value including zero and
A may take either of the values "K" or "D".

Is this possible, please, and if so how? thanks

--
Return email address is not as DEEP as it appears



Bernie Deitrick

Jack,

For cell A1, use Data / Validation, Allow - Custom, and in the formula
area, enter (take out any extra line returns before using this):

=OR(A1="BR",A1="NT",AND(NOT(ISERROR(FIND(RIGHT(A1, 1),"LPTVY"))),NOT(ISERROR(
VALUE(LEFT(A1,LEN(A1)-1))))),AND(NOT(ISERROR(FIND(LEFT(A1,1),"KD"))),NOT (ISE
RROR(VALUE(RIGHT(A1,LEN(A1)-1))))))

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Hi all

I want to set data validation on a cell so that it will accept the

following
(and only the following) text strings:
(1) "BR" (literally)
or
(2) "NT" (literally)
or
(3) "nA" where n is any positive integral numerical value including zero

and
A may take any of the values "L", "P", "T", "V" or "Y"
or
(4) "An" where n is any positive integral numerical value including zero

and
A may take either of the values "K" or "D".

Is this possible, please, and if so how? thanks

--
Return email address is not as DEEP as it appears





Bernie Deitrick

Actually, I forgot about the positive integral part.

Change the Data validation formula to

=B1

and in B1, enter the formula

=OR(A1="BR",A1="NT",AND(NOT(ISERROR(FIND(RIGHT(A1, 1),"LPTVY"))),IF(NOT(ISERR
OR(VALUE(LEFT(A1,LEN(A1)-1)))),AND(VALUE(LEFT(A1,LEN(A1)-1))0,INT(VALUE(LEF
T(A1,LEN(A1)-1)))=VALUE(LEFT(A1,LEN(A1)-1))),FALSE)),AND(NOT(ISERROR(FIND(LE
FT(A1,1),"KD"))),IF(NOT(ISERROR(VALUE(RIGHT(A1,LEN (A1)-1)))),AND(VALUE(RIGHT
(A1,LEN(A1)-1))0,INT(VALUE(RIGHT(A1,LEN(A1)-1)))=VALUE(RIGHT(A1,LEN(A1)-1))
),FALSE)))

You need to use cell B1 because the formula is longer than the data
validation formula length limit.

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Hi all

I want to set data validation on a cell so that it will accept the

following
(and only the following) text strings:
(1) "BR" (literally)
or
(2) "NT" (literally)
or
(3) "nA" where n is any positive integral numerical value including zero

and
A may take any of the values "L", "P", "T", "V" or "Y"
or
(4) "An" where n is any positive integral numerical value including zero

and
A may take either of the values "K" or "D".

Is this possible, please, and if so how? thanks

--
Return email address is not as DEEP as it appears





Jack Sheet

That worked fine, thanks (I just changed the "" to "=" to enable zeros to
count as TRUE).
Regards

"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Actually, I forgot about the positive integral part.

Change the Data validation formula to

=B1

and in B1, enter the formula


=OR(A1="BR",A1="NT",AND(NOT(ISERROR(FIND(RIGHT(A1, 1),"LPTVY"))),IF(NOT(ISERR

OR(VALUE(LEFT(A1,LEN(A1)-1)))),AND(VALUE(LEFT(A1,LEN(A1)-1))0,INT(VALUE(LEF

T(A1,LEN(A1)-1)))=VALUE(LEFT(A1,LEN(A1)-1))),FALSE)),AND(NOT(ISERROR(FIND(LE

FT(A1,1),"KD"))),IF(NOT(ISERROR(VALUE(RIGHT(A1,LEN (A1)-1)))),AND(VALUE(RIGHT

(A1,LEN(A1)-1))0,INT(VALUE(RIGHT(A1,LEN(A1)-1)))=VALUE(RIGHT(A1,LEN(A1)-1))
),FALSE)))

You need to use cell B1 because the formula is longer than the data
validation formula length limit.

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Hi all

I want to set data validation on a cell so that it will accept the

following
(and only the following) text strings:
(1) "BR" (literally)
or
(2) "NT" (literally)
or
(3) "nA" where n is any positive integral numerical value including zero

and
A may take any of the values "L", "P", "T", "V" or "Y"
or
(4) "An" where n is any positive integral numerical value including zero

and
A may take either of the values "K" or "D".

Is this possible, please, and if so how? thanks

--
Return email address is not as DEEP as it appears







Jack Sheet

Just one minor problem:
As the formula in B1 refers to the address of the cell to which the data
validation applies, it seems that I am going to have to copy this formula
down to each row in column B for which a corresponding entry is to be made
in column A. I would have preferred as solution that just requires the
formula to be stored once, simply to reduce the processing overhead on the
workbook. I can live with it as it stands, but is there a way around that?


"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Actually, I forgot about the positive integral part.

Change the Data validation formula to

=B1

and in B1, enter the formula


=OR(A1="BR",A1="NT",AND(NOT(ISERROR(FIND(RIGHT(A1, 1),"LPTVY"))),IF(NOT(ISERR

OR(VALUE(LEFT(A1,LEN(A1)-1)))),AND(VALUE(LEFT(A1,LEN(A1)-1))0,INT(VALUE(LEF

T(A1,LEN(A1)-1)))=VALUE(LEFT(A1,LEN(A1)-1))),FALSE)),AND(NOT(ISERROR(FIND(LE

FT(A1,1),"KD"))),IF(NOT(ISERROR(VALUE(RIGHT(A1,LEN (A1)-1)))),AND(VALUE(RIGHT

(A1,LEN(A1)-1))0,INT(VALUE(RIGHT(A1,LEN(A1)-1)))=VALUE(RIGHT(A1,LEN(A1)-1))
),FALSE)))

You need to use cell B1 because the formula is longer than the data
validation formula length limit.

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Hi all

I want to set data validation on a cell so that it will accept the

following
(and only the following) text strings:
(1) "BR" (literally)
or
(2) "NT" (literally)
or
(3) "nA" where n is any positive integral numerical value including zero

and
A may take any of the values "L", "P", "T", "V" or "Y"
or
(4) "An" where n is any positive integral numerical value including zero

and
A may take either of the values "K" or "D".

Is this possible, please, and if so how? thanks

--
Return email address is not as DEEP as it appears







Bernie Deitrick

Jack,

You would need to use the worksheet change event - VBA code, so you would
need to be able to have code, and have macros enabled (some folks don't like
that.)

Besides, it really doesn't add to the processing overhead. Excel only calc's
the cells that are directly affected by a change. You could have 1000
cells, and change 1 of those, and only the corresponding cell in column B
will be calc'd. Using VBA will actually slow your file down more.

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Just one minor problem:
As the formula in B1 refers to the address of the cell to which the data
validation applies, it seems that I am going to have to copy this formula
down to each row in column B for which a corresponding entry is to be made
in column A. I would have preferred as solution that just requires the
formula to be stored once, simply to reduce the processing overhead on the
workbook. I can live with it as it stands, but is there a way around

that?


"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Actually, I forgot about the positive integral part.

Change the Data validation formula to

=B1

and in B1, enter the formula



=OR(A1="BR",A1="NT",AND(NOT(ISERROR(FIND(RIGHT(A1, 1),"LPTVY"))),IF(NOT(ISERR


OR(VALUE(LEFT(A1,LEN(A1)-1)))),AND(VALUE(LEFT(A1,LEN(A1)-1))0,INT(VALUE(LEF


T(A1,LEN(A1)-1)))=VALUE(LEFT(A1,LEN(A1)-1))),FALSE)),AND(NOT(ISERROR(FIND(LE


FT(A1,1),"KD"))),IF(NOT(ISERROR(VALUE(RIGHT(A1,LEN (A1)-1)))),AND(VALUE(RIGHT


(A1,LEN(A1)-1))0,INT(VALUE(RIGHT(A1,LEN(A1)-1)))=VALUE(RIGHT(A1,LEN(A1)-1))
),FALSE)))

You need to use cell B1 because the formula is longer than the data
validation formula length limit.

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Hi all

I want to set data validation on a cell so that it will accept the

following
(and only the following) text strings:
(1) "BR" (literally)
or
(2) "NT" (literally)
or
(3) "nA" where n is any positive integral numerical value including

zero
and
A may take any of the values "L", "P", "T", "V" or "Y"
or
(4) "An" where n is any positive integral numerical value including

zero
and
A may take either of the values "K" or "D".

Is this possible, please, and if so how? thanks

--
Return email address is not as DEEP as it appears









Jack Sheet

Thanks again. I agree that I would rather do without the VBA

"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Jack,

You would need to use the worksheet change event - VBA code, so you would
need to be able to have code, and have macros enabled (some folks don't

like
that.)

Besides, it really doesn't add to the processing overhead. Excel only

calc's
the cells that are directly affected by a change. You could have 1000
cells, and change 1 of those, and only the corresponding cell in column B
will be calc'd. Using VBA will actually slow your file down more.

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Just one minor problem:
As the formula in B1 refers to the address of the cell to which the data
validation applies, it seems that I am going to have to copy this

formula
down to each row in column B for which a corresponding entry is to be

made
in column A. I would have preferred as solution that just requires the
formula to be stored once, simply to reduce the processing overhead on

the
workbook. I can live with it as it stands, but is there a way around

that?


"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Actually, I forgot about the positive integral part.

Change the Data validation formula to

=B1

and in B1, enter the formula




=OR(A1="BR",A1="NT",AND(NOT(ISERROR(FIND(RIGHT(A1, 1),"LPTVY"))),IF(NOT(ISERR



OR(VALUE(LEFT(A1,LEN(A1)-1)))),AND(VALUE(LEFT(A1,LEN(A1)-1))0,INT(VALUE(LEF



T(A1,LEN(A1)-1)))=VALUE(LEFT(A1,LEN(A1)-1))),FALSE)),AND(NOT(ISERROR(FIND(LE



FT(A1,1),"KD"))),IF(NOT(ISERROR(VALUE(RIGHT(A1,LEN (A1)-1)))),AND(VALUE(RIGHT



(A1,LEN(A1)-1))0,INT(VALUE(RIGHT(A1,LEN(A1)-1)))=VALUE(RIGHT(A1,LEN(A1)-1))
),FALSE)))

You need to use cell B1 because the formula is longer than the data
validation formula length limit.

HTH,
Bernie
MS Excel MVP


"Jack Sheet" wrote in message
...
Hi all

I want to set data validation on a cell so that it will accept the
following
(and only the following) text strings:
(1) "BR" (literally)
or
(2) "NT" (literally)
or
(3) "nA" where n is any positive integral numerical value including

zero
and
A may take any of the values "L", "P", "T", "V" or "Y"
or
(4) "An" where n is any positive integral numerical value including

zero
and
A may take either of the values "K" or "D".

Is this possible, please, and if so how? thanks

--
Return email address is not as DEEP as it appears












All times are GMT +1. The time now is 02:57 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com