Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Jack Sheet
 
Posts: n/a
Default 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


  #2   Report Post  
Bernie Deitrick
 
Posts: n/a
Default

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




  #3   Report Post  
Bernie Deitrick
 
Posts: n/a
Default

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




  #4   Report Post  
Jack Sheet
 
Posts: n/a
Default

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






  #5   Report Post  
Jack Sheet
 
Posts: n/a
Default

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








  #6   Report Post  
Bernie Deitrick
 
Posts: n/a
Default

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








  #7   Report Post  
Jack Sheet
 
Posts: n/a
Default

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










Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Data validation gavin Excel Discussion (Misc queries) 4 May 13th 05 12:27 AM
Conditional data validation (using a filtered range?) Simon Excel Worksheet Functions 0 February 15th 05 02:39 PM
Pulling data from 1 sheet to another Dave1155 Excel Worksheet Functions 1 January 12th 05 05:55 PM
Using Validation List from Another Workbook with Dependent Data Mike R. Excel Worksheet Functions 5 January 8th 05 07:06 PM
Data Validation Mike Excel Worksheet Functions 1 November 29th 04 07:01 PM


All times are GMT +1. The time now is 03:11 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"