Data validation error with multiple CPU

Y

Yorkeyite

Excel 2010 running on XP question, I have a formula based validation dependent on a calculated value in another cell that fails when more than 1 processor is used. The failure is not consistent though, works for a while then falls over. I presume that the data validation formula is being picked up by one thread and the cell it is dependent on is picked up by another with them getting out of sync. Data validation checking shows an error after the entry is made.
i.e. same computer, 2 processors running, it fails, reduce to 1 in options everything is OK, it is a complex spreadsheet and I would like to run multiple processors, is there any way around it?
 
R

Ron Rosenfeld

Excel 2010 running on XP question, I have a formula based validation dependent on a calculated value in another cell that fails when more than 1 processor is used. The failure is not consistent though, works for a while then falls over. I presume that the data validation formula is being picked up by one thread and the cell it is dependent on is picked up by another with them getting out of sync. Data validation checking shows an error after the entry is made.
i.e. same computer, 2 processors running, it fails, reduce to 1 in options everything is OK, it is a complex spreadsheet and I would like to run multiple processors, is there any way around it?

You do not provide enough information to tell what the problem is.

What service pack of XP? 64 or 32 bit?
What is the data validation formula?
What data is present (in all precedent cells) when the error is shown?
 
Y

Yorkeyite

You do not provide enough information to tell what the problem is.



What service pack of XP? 64 or 32 bit?

What is the data validation formula?

What data is present (in all precedent cells) when the error is shown?


The spreadsheet is a roster, Names for row headers and dates for column headers, it counts the number of like entries in a column and the validation stops further entries when a limit is reached.
The Validation is formula based that requires a referenced cell to be TRUE to allow the entry of that code

Referenced cell=TRUE
=E296=TRUE
The Referenced cell is an AND statement.
=AND(LEFT(E8,1)<>" ",RIGHT(E8,1)<>" ",COUNTIF(E$8:E$41,$B$156)<=E$214,COUNTIF(E$8:E$41,$B$157)<=E$215,COUNTIF(E$8:E$41,$B$158)<=E$216,COUNTIF(E$8:E$41,$B$159)<=E$217,COUNTIF(E$8:E$41,$B$160)<=E$218,COUNTIF(E$8:E$145,$B$166)<=E$224,COUNTIF(E$8:E$145,$B$167)<=E$225,COUNTIF(E$8:E$145,$B$168)<=E$226,COUNTIF(E$8:E$145,$B$169)<=E$227,COUNTIF(E$8:E$145,$B$170)<=E$228,OR(COUNTIF(ShiftCode,E8)=1,ISBLANK(E8)))

It does not fail at any particular time it is a random event, it does not fail at all if I reduce the active processors to one.
 
R

Ron Rosenfeld

The spreadsheet is a roster, Names for row headers and dates for column headers, it counts the number of like entries in a column and the validation stops further entries when a limit is reached.
The Validation is formula based that requires a referenced cell to be TRUE to allow the entry of that code

Referenced cell=TRUE
=E296=TRUE
The Referenced cell is an AND statement.
=AND(LEFT(E8,1)<>" ",RIGHT(E8,1)<>" ",COUNTIF(E$8:E$41,$B$156)<=E$214,COUNTIF(E$8:E$41,$B$157)<=E$215,COUNTIF(E$8:E$41,$B$158)<=E$216,COUNTIF(E$8:E$41,$B$159)<=E$217,COUNTIF(E$8:E$41,$B$160)<=E$218,COUNTIF(E$8:E$145,$B$166)<=E$224,COUNTIF(E$8:E$145,$B$167)<=E$225,COUNTIF(E$8:E$145,$B$168)<=E$226,COUNTIF(E$8:E$145,$B$169)<=E$227,COUNTIF(E$8:E$145,$B$170)<=E$228,OR(COUNTIF(ShiftCode,E8)=1,ISBLANK(E8)))

It does not fail at any particular time it is a random event, it does not fail at all if I reduce the active processors to one.

When you see a failure, if you re-calcuilate, without changing any data at all on the worksheet, i.e. after CTRL+SHIFT+ALT+F9 (hold down the first three keys and hit F9) what happens with multi-processors. If the result changes, that possibly might relate to threading or order of calculations, or dependencies. If the result remains the same, there may be a different problem.

I've not read of this kind of formula being dependent on the number of processors. before. With this complex code, I would advise checking it very closely for a logic issue. Here is what I would suggest.

1. Confirm that you have XP Service Pack 3 and that it is 32 bit and not 64 bit.
2. At the time it fails, verify (by highlighting the section of code and hitting <F9> that each segment is calculating properly individually (or place them in separate cells to do that).
Here is the code laid out so as to allow easier visualization:

=AND(LEFT(E8,1)<>" ",RIGHT(E8,1)<>" ",
COUNTIF(E$8:E$41,$B$156)<=E$214,
COUNTIF(E$8:E$41,$B$157)<=E$215,
COUNTIF(E$8:E$41,$B$158)<=E$216,
COUNTIF(E$8:E$41,$B$159)<=E$217,
COUNTIF(E$8:E$41,$B$160)<=E$218,
COUNTIF(E$8:E$145,$B$166)<=E$224,
COUNTIF(E$8:E$145,$B$167)<=E$225,
COUNTIF(E$8:E$145,$B$168)<=E$226,
COUNTIF(E$8:E$145,$B$169)<=E$227,
COUNTIF(E$8:E$145,$B$170)<=E$228,
OR(COUNTIF(ShiftCode,E8)=1,ISBLANK(E8)))


To "highlight a section", in the formula bar, you take the cursor, place it on (for example), the C in COUNTIF; left click and drag across to the 4 in E$214 (but not the comma). Then <F9> should show the result of calculating just that segment.

If the above does not bring a solution, I would suggest posting a (sanitized as necessary) copy of the workbook (that shows the problem) to some publically accessible site (e.g. SkyDrive) and posting a link here in the hope that someone with XP SP3 and Excel 2010 can see if they can reproduce (and hopefully diagnose) your problem.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top