If you want to make a general tool to do this it will be a non-trivial task,
particularly handling functions (user-defined functions, INDIRECT, OFFSET,
LOOKUPs, IF, CHOOSE ...), array formulae, ranges, defined names etc, let
alone conditional formatting.
For substitution of simple cell references to single cells it would be
fairly easy to write a selective parser/replacer: start by reading the
formulae in R1C1 form and then look for single cell references excluding
ranges, functions, names etc and do a recursive substitution.
Handling the general case will require a parser and an equivalent function
library in the scripting language of your choice, and I would have thought
handling arbitrary user-defined functions and event-driven calculations
would probably be put in the "too difficult" class.
There are a number of commercial products available that attempt to convert
Excel spreadsheets into locked run-time only solutions. AFAIK they all have
limitations in the degree of complexity they can handle, but I expect they
work well for simple cases.
Charles
______________________
Decision Models
FastExcel 2.3 now available
Name Manager 4.0 now available
www.DecisionModels.com
<(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> this is not a homework assignment, but instead the desire for a general
> tool to convert excel logic into a form suitable for scripting, VB or
> otherwise.
>
> Assume "simple" functions only, like +, -, *, / .
>
> Shouldn't this tool exist already?
>
>
> Tim Williams wrote:
>> Is this a homework assignment?
>>
>> You could try looking at each cells Precedents. Parsing out cell
>> references manually might be a bit complex...
>>
>> --
>> Tim Williams
>> Palo Alto, CA
>>
>>
>> <(E-Mail Removed)> wrote in message
>> news:(E-Mail Removed)...
>> > The task is, find a function to convert any formula in excel into an
>> > "atomic formula". Formally defined below, but first, an example:
>> >
>> > Cell A1 is "=A2"
>> > Cell A2 is "=A3+A4"
>> > Cell A3 is "5" (atomic)
>> > Cell A4 is "=A5+A6"
>> > Cell A5 is "=7" (atomic)
>> > Cell A6 is "=8" (atomic)
>> >
>> > Then the function, given A1's formula "=A2' as input, would return
>> > "=A3+A5+A6" as the equivalent atomic formula.
>> >
>> >
>> > Define an "atomic cell" to be any cell containing no references to
>> > other cells. An "atomic formula" contains only references to atomic
>> > cells, not any other type of references. Every non-circular formula
>> > can be reduced to an atomic formula by continually replacing the cell
>> > references which are non-atomic with a statement of the formula itself,
>> > as in the example
>> >
>> > Does such a method exist, either built-in to excel or does someone have
>> > code?
>> >
>> > thanks
>> >
>