Trying to use VLOOKUP to return total value

How can I use vlookup to return total value while referencing another sheet/table?
I have:
=IF(ISERROR(VLOOKUP($B$3:$B$25,Transactions :: $D$3:$E$50,2,FALSE)),"$0.00",VLOOKUP($B$3:$B$25,Transactions :: $D$3:$E$50,2,FALSE))
This works great as far as returning "0" if nothing of $$ or item.  I am using this for a budget template I've built, but using the vlookup to return actual $$ amounts from a checkbook register page I've built into the budget template.
Example, the formula I am using does find the items and value from the checkbook register sheet(separate sheet), but it is not returning the total value for the item.  I am asking it to find "Gas" in the checkbook register sheet and return total value for "Gas".  It returns only one value, $30, but I have 3 entries for "Gas" in my checkbook register sheet, so it should return $90.
I tried to use the =IF(ISNA(VLOOKUP array that I would use in Excel, but the ISNA does not work in iWorks.
Any suggetions?
Thanks,
-Bill

Hi Jerry,
Yes that worked!
=SUMIF(Transactions :: $D$3:$D$50,B4,Transactions :: $E$3:$E$50)
Thanks for your help.
-Bill

Similar Messages

  • Managed custom properties at site collection level when used as refiner returns no value in search result web part

    I have created certain crawled properties and mapped them to the OOB managed properties( refineable active )  in search schema at site collection level and tried to use them as refiner in the search
    site at farm level but it returns no value.
    But when i use the same crawled property and map it to a service level OOB metadata property ( refineable active ) and use it in search as refiner it returns result , Can you help as to why this difference is there.
    What steps should i do so that site level refiners also work in the enterprise search 
    Thanks in advance

    Hi  Dextar,
    According to your description, my understanding is that you want to create a site level refiner in SharePoint 2013.
    Here is a detailed blog you can refer to:
    http://blogs.technet.com/b/tothesharepoint/archive/2013/11/11/how-to-add-refiners-to-your-search-results-page-for-sharepoint-2013.aspx
    Be aware that any changes in the manage property required full crawl.
    Best Regards,
    Eric
    Eric Tao
    TechNet Community Support

  • Tried to use Restore to return to pre-Firefox4 but now Firefox won't open and won't uninstall.

    After trying to maneuver the new Firefox 4.0 for a while and giving up, I wanted to go back to the 3.6.1.6 version. I used the Restore feature to try to go back to the pre-Firefox 4.0 dowload. Since then, Firefox won't open. I have tried to uninstall Firefox 3.6.1.6, which is listed in my installed programs in the Control Panel, but it doesn't do anything. At this point I don't know what to do. I want to re-instate the 3.6.1.6 version on my computer. Thanks.

    You're in a bit of a pickle here because you can't use System Restore to revert to 3.6.16. You probably now have version 1.9.2.x which is in part, files which were not removed when you installed FF4
    What you can try and do is use System Resore to undo the last restoration which should take you back to 4.0 again. If that fails, see this article: http://kb.mozillazine.org/Uninstalling_firefox
    If the undo restoration is successful, do the following to revert to 3.6.16
    Go to [http://www.mozilla.com/en-US/firefox/all-older.html Download Firefox v3.6.16] and download it to the desktop. If necessary, download the file with IE8 and choose to save it to your desktop when you see the prompt.
    Then go to Add/Remove Programs, scroll down to Mozilla Firefox and remove it, choosing to keep your bookmarks, customizations etc., (don't checkmark the box).
    Then reboot and delete the folder called '''Mozilla Firefox''' at this location: ''C:\Program Files\Mozilla Firefox''
    Finally run the installation file you downloaded to the desktop earlier.
    Your bookmarks, customizations etc., are maintained in a different location and will become available to you again once you complete the installation.

  • How to return multiples values useing functions

    Hi to all,
    I am using functions to return multiple values of two rows or multiple rows.
    For example emp id = 100 and i need to return the value for this(empid) input and output of this first_name and salary.
    I am tried in this way below but got errors (ORA-00932: inconsistent datatypes: expected NUMBER got HR.EMP_TYPE)
    create or replace type emp_type as object(first_name varchar2(20),salary number);
    create or replace function f1(empid in number)
    return emp_type
    as
    emp_record emp_type;
    begin
    select first_name,salary into emp_record.first_name,emp_record.salary from employees where employee_id = empid ;
    return emp_record;
    end;
    select f1(100) from dual;

    Sql is Sql and plsql is plsql. Though we can almost use all the sql objects inside a plsql code but vice versa is not always possible. Since plsql is tightly integrated with sql , if you return a number/date/varchar2 datatype values from plsql code to sql code,there is nothing wrong .Sql acknowledges this return type and knows well about how to handle it .But plsql record is a plsql specific datatype ,oracle was not built keeping in mind the fact that people will be creating difference types of records in plsql .So if you return a plsql datatype into a sql statement (which is processed by a sql engine) ,you need to tell oracle that I have written a plsql code which is going to return a record type so that sql engine can interpret it well.
    So all you need to do is create record in sql (known as object in sql ),when you make one, the entry is going to be shown in user_types views. Now use it like any other data type. I assume that the forum link provided in the above post is the best one to understand.
    Thanks,
    Rahul

  • FM returns wrong total value for Limit type PO's

    Hi all,
    I am working on SRM 5.0 (SP13) ECS.
    I have implemented the BADI "BBP_WFL_APPROVAL_BADI" for determining the Approvers for PO whenevr a PO is changed.If the diference between the Old PO value and new PO value is > 1000 and the approval text field(custom text under "Documents" link) is set to "YES",then the WF approval is required and the approvers are determined.
    The above logic works fine for the Standard type PO's where the difference between the old value and new value is determined using FM "BBP_PD_PO_GETDETAIL"  by passing the GUID (for the change version and the active vesion) obtained at runtime in the BADI.
    However for the limit type PO's,whenevr I change the total value for the Limit item,I see that the FM "BBP_PD_PO_GETDETAIL" doesnt return the changed value but  always returns blank!
    Bcause I need to check bth the values i.e. Custom text set to "YES" as well as Total value diff ,I cant use the start conditions in tcode SWB_COND.ALso I need to fetch the approvers based on the price diff so I need this value at runtime in the BADI using the FM "BBP_PD_PO_GETDETAIL".
    Please advise why the FM is not returning the changed values for the Limit type PO and is there any other way(other table/FM) to get the changed value at runtime for the LIMIT type PO.
    Thanks for your time.
    Edited by: Rads1234 on Nov 18, 2010 4:39 AM

    Thanks for the rpely.
    Yes.I am using the GUID available at runtime in the  BADI "BBP_WFL_APPROV_BADI" which is the current change version GUID.I tried using that GUID to get the data from both FM as well as CDHDR and CDPOS tables.
    I think this is something related to LImit type PO because for Standard type PO's the FM returns the corretc changed value (as in the screen) for the change version GUID.I fail to understand why the changed values are shwon on the screen but are not stored anywhere in the system before actually ordering the PO!

  • Pl/sql package for use with workflow will not return a value

    hi all,
    just trying to intercept a requisition being turned into an order if it uses a certain cost code. so i have amended the workflow and created a package to check what cost centre a requisition is using. how over the workflow stops on the function that calls the package witha a status of complete as if the package is not returning any values.
    the package is as below:
    CREATE OR REPLACE PACKAGE APPS.xxhccWFcapitalcheck AS
    procedure XXHCC_CHECK_CAPITAL(itemtype in varchar2,
    itemkey in varchar2,
    actid in number,
    funcmode in varchar2,
    resultout out NOCOPY vARCHAR2);
    END xxhccWFcapitalcheck;
    CREATE OR REPLACE PACKAGE BODY APPS.xxhccWFcapitalcheck AS
    procedure XXHCC_CHECK_CAPITAL(itemtype in varchar2,
    itemkey in varchar2,
    actid in number,
    funcmode in varchar2,
    resultout out NOCOPY varchar2 ) is
    x_progress varchar2(100);
    x_resultout varchar2(30);
    l_doc_mgr_return_val VARCHAR2(1);
    l_doc_string varchar2(200);
    l_preparer_user_name varchar2(100);
    doc_manager_exception exception;
    p_test varchar2(100);
    l_req_id varchar2(30);
    CURSOR p_line_id IS
    SELECT
    codes.segment2 cost_center
    FROM
    po_requisition_headers_all headers,
    po_requisition_lines_all lines,
    po_req_distributions_all dist,
    gl_code_combinations_v codes
    WHERE
    headers.requisition_header_id = lines.requisition_header_id
    AND
    lines.requisition_line_id = dist.requisition_line_id
    AND
    dist.code_combination_id = codes.code_combination_id
    AND
    headers.segment1 = l_req_id;
    line_rec p_line_id%rowtype;
    BEGIN
    -- Do nothing in cancel or timeout mode
    --if (funcmode <> wf_engine.eng_run) then
    -- resultout := wf_engine.eng_null;
    -- return;
    -- end if;
    l_req_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
    itemkey => itemkey,
    aname => 'DOCUMENT_NUMBER');
    --FOR line_rec in p_line_id
    ---loop
    open p_line_id;
    fetch p_line_id into l_doc_string;
    close p_line_id;
    IF p_line_id= 'Q9DEF'
    dbms_output.put_line p_line_id;
    Then resultout := 'COMPLETE:F';
    return;
    p_test := 'USE DIFFERENT CODE';
    ELSE
    resultout := 'COMPLETE:T';
    return;
    END IF;
    END LOOP;
    end;
    END xxhccWFcapitalcheck;
    any help would be great!

    Hi Community,  first of all, english is not my native language and im not sure to use the correct terms for PowerCenter - so if im wrong please help me correct and make clear what we need. We have a kind of 3-steps ToDo. First step: Load data from an external source into a "local" datastore (its an oracle db on a server in our "hands")Second step: Check data against several verifications, this is done with a PL/SQL Package. The PL/SQL Package shall be called with an Interfacename who is set in the First PowerCenter Mapping. Our current thoghts are to do this via a stored procedure, which runs as "Target Post Load" and gets a variable "Interface Name".Is that possible? Im not quite sure about it. About the last part its even more unclear how we can solve it:Third part should be switch back to PowerCenter now - and the package (or to be correct a function in the package) should return a value for "okay everything fine => workflow continue" or "something happened => workflow is stopped" Im not sure how i can handle this. I hope my explanations are good enough so you can provide some help?!If there are any questions please ask!  Thank you alot, best regards, Christian

  • Using VLOOKUP to find #VALUE! errors

    I have a table with a column of dates and a column that does calculation of the date values. If a date cell has, for instance, text following the date, like "2014-12-01 Testing" the calculated field of course displays #Value!.
    How can I use VLOOKUP or any other method to find those values?
    Example:
    =VLOOKUP("#VALUE!", E1:F10,2,False) returns #MISSING although "#VALUE! is displayed in cell E5 for a date error in cell F5
    Best regards George

    Hi,
    OK, Vlookup formula also could not return the cell location that included the
    #Value!.
    We need to use the ADDRESS function to get the cell value.
    https://support.office.com/en-us/article/ADDRESS-function-47657e92-81ae-47f8-87cd-62d4f30c774d?ui=en-US&rs=en-US&ad=US
    Sample formula:
    =INDEX(ADDRESS(ROW(Range),2),IF(T(INDIRECT(ADDRESS(ROW(Range),2)))="#Value!",ROW(Range)))    
    Regards,
    George Zhao
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • DAX - how to use dax to return a previous row value?

    Hi,
    I was trying to use the EARLIER function but couldn't make it work:
    EVALUATE
    SUMMARIZE (
    CALCULATETABLE (
    'Inscricoes',
    'Ano Letivo'[ID_TB_DIM_ANO_LETIVO] <= VALUE(26),
    'Ano Letivo'[ID_TB_DIM_ANO_LETIVO] > VALUE(26) - 5,
    'Escola'[ID_TB_DIM_UNIDADE_ORGANICA] = VALUE(6),
    Curso[ID_TB_DIM_CURSO] = VALUE(372),
    'Tipo de Inscricao no Curso'[DS_TIPO_INSCRICAO_CURSO]
    = "Matrícula"
    'Ano Letivo'[ID_TB_DIM_ANO_LETIVO],
    'Ano Letivo'[DS_ANO_LETIVO],
    "NR_INSCRICOES", [NR_ESTUDANTES_INSCRITOS])
    This generates:
    ID_TB_DIM_ANO_LETIVO
    DS_ANO_LETIVO
    NR_INSCRICOES
    22
    2010-11
    93
    23
    2011-12
    101
    24
    2012-13
    84
    25
    2013-14
    85
    26
    2014-15
    104
    I need a new field that does returns the previous value of subscriptions (NR_INSCRICOES), so last 2 columns will be:
    93 - 
    101 - 93
    84 - 101
    85 - 84
    104 - 85
    Need some help. Thanks

    Hi Pedro,
    According to your description, you want to get the previous row data along with each row. Right?
    In DAX, we can use EARLIER() function to achieve this requirement. Please refer to link below:
    PowerPivot DAX Session Notes 2 – Previous Row
    In this scenario, I suggest you select the three columns into one table(let's say TABLE1). Then you can try the expression below:
    =CALCULATE(MAX(TABLE1[NR_ESTUDANTES_INSCRITOS]), (FILTER(TABLE1,EARLIER(TABLE1[ID_TB_DIM_ANO_LETIVO])>TABLE1[ID_TB_DIM_ANO_LETIVO])))
    Reference:
    EARLIER Function (DAX)
    Best Regards,
    Simon Hou
    TechNet Community Support

  • Can you calculate multiple text boxes to achieve a total value?  If so how is that done?  I am trying to create a order form where multiple items can be purchased but i would like the values of each item to calculate so I can achieve a total value.

    Can you calculate multiple text boxes to achieve a total value?  If so how is that done?  I am trying to create a order form where multiple items can be purchased but i would like the values of each item to calculate so I can achieve a total value.

    Hi sashby51,
    I've moved your discussion to the PDF Forms forum--the folks who visit this forum regularly should be able to point you in the right direction.
    Best,
    Sara

  • Function which returns multiple values that can then be used in an SQL Sele

    I'd like to create a function which returns multiple values that can then be used in an SQL Select statement's IN( ) clause
    Currently, the select statement is like (well, this is a very simplified version):
    select application, clientid
    from tbl_apps, tbl_status
    where tbl_apps.statusid = tbl_status.statusid
    and tbl_status.approved > 0;
    I'd like to pull the checking of the tbl_status into a PL/SQL function so my select would look something like :
    select application, clientid
    from tbl_apps
    where tbl_apps.statusid in (myfunction);
    So my function would be running this sql:
    select statusid from tbl_status where approved > 0;
    ... will return values 1, 5, 15, 32 (and more)
    ... but I haven't been able to figure out how to return the results so they can be used in SQL.
    Thanks for any help you can give me!!
    Trisha Gorr

    Perhaps take a look at pipelined functions:
    Single column example:
    SQL> CREATE OR REPLACE TYPE split_tbl IS TABLE OF VARCHAR2(32767);
      2  /
    Type created.
    SQL> CREATE OR REPLACE FUNCTION split (p_list VARCHAR2, p_delim VARCHAR2:=' ') RETURN SPLIT_TBL PIPELINED IS
      2      l_idx    PLS_INTEGER;
      3      l_list   VARCHAR2(32767) := p_list;
      4      l_value  VARCHAR2(32767);
      5    BEGIN
      6      LOOP
      7        l_idx := INSTR(l_list, p_delim);
      8        IF l_idx > 0 THEN
      9          PIPE ROW(SUBSTR(l_list, 1, l_idx-1));
    10          l_list := SUBSTR(l_list, l_idx+LENGTH(p_delim));
    11        ELSE
    12          PIPE ROW(l_list);
    13          EXIT;
    14        END IF;
    15      END LOOP;
    16      RETURN;
    17    END SPLIT;
    18  /
    Function created.
    SQL> SELECT column_value
      2  FROM TABLE(split('FRED,JIM,BOB,TED,MARK',','));
    COLUMN_VALUE
    FRED
    JIM
    BOB
    TED
    MARK
    SQL> create table mytable (val VARCHAR2(20));
    Table created.
    SQL> insert into mytable
      2  select column_value
      3  from TABLE(split('FRED,JIM,BOB,TED,MARK',','));
    5 rows created.
    SQL> select * from mytable;
    VAL
    FRED
    JIM
    BOB
    TED
    MARK
    SQL>Multiple column example:
    SQL> CREATE OR REPLACE TYPE myrec AS OBJECT
      2  ( col1   VARCHAR2(10),
      3    col2   VARCHAR2(10)
      4  )
      5  /
    Type created.
    SQL>
    SQL> CREATE OR REPLACE TYPE myrectable AS TABLE OF myrec
      2  /
    Type created.
    SQL>
    SQL> CREATE OR REPLACE FUNCTION pipedata(p_str IN VARCHAR2) RETURN myrectable PIPELINED IS
      2    v_str VARCHAR2(4000) := REPLACE(REPLACE(p_str, '('),')');
      3    v_obj myrec := myrec(NULL,NULL);
      4  BEGIN
      5    LOOP
      6      EXIT WHEN v_str IS NULL;
      7      v_obj.col1 := SUBSTR(v_str,1,INSTR(v_str,',')-1);
      8      v_str := SUBSTR(v_str,INSTR(v_str,',')+1);
      9      IF INSTR(v_str,',')>0 THEN
    10        v_obj.col2 := SUBSTR(v_str,1,INSTR(v_str,',')-1);
    11        v_str := SUBSTR(v_str,INSTR(v_str,',')+1);
    12      ELSE
    13        v_obj.col2 := v_str;
    14        v_str := NULL;
    15      END IF;
    16      PIPE ROW (v_obj);
    17    END LOOP;
    18    RETURN;
    19  END;
    20  /
    Function created.
    SQL>
    SQL> create table mytab (col1 varchar2(10), col2 varchar2(10));
    Table created.
    SQL>
    SQL> insert into mytab (col1, col2) select col1, col2 from table(pipedata('(1,2),(2,3),(4,5)'));
    3 rows created.
    SQL>
    SQL> select * from mytab;
    COL1       COL2
    1          2
    2          3
    4          5

  • Function that returns N values, without using a string

    Hi, how can i make a function that returns several valures (that hasn't a exact number of returned values, it could return 3 values, or 7) without using a string?
    When i need to return several values from a function, i put the values inside a varchar like thus 'XXX,YYY,ZZZ' and so on. Don't know if this has a poor performance.
    If you can supply simple examples for what im asking, i would be nice.
    (without using a string)

    Can i create the type objects inside a package? If i
    can, they will be local to the package, right?Yes, you're right.
    Pipeline returns a row or several?You can use pipelined function in the same way you use table:
    SELECT * FROM TABLE(pipelined_funct(agr1, agr2));
    It returns results as separate rows.

  • Return Code value using 'starting new task' and 'wait until'

    I'm having a minor issue with some return code values in my ABAP.
    This is what part of it used to look like before I modified it:
    With Code in version 1, the sy-subrc was not always zero, sometimes it would be 4.
    That was fine, and my abap would do something based on the non-zero RC.
    had a need to implement an RFC timeout, the only way I could see to do it was to use 'starting new task' etc as seen in Version 2.
    However, with my changes, sy-subrc is always zero.
    The ABAP runs fine but I know that sy-subrc should sometimes be 4, even when it returns within the allotted 60 seconds.
    Maybe I've coded it incorrectly.
    Can someone point me in the right direction?
    #>> Start of VERSION 1
      call function 'MY_FUNCTION_MODULE'
           destination RFCDEST
           tables
                orders_list          = t_orders_packet
                apo_orders_list      = t_apo_orders
                apo_resources        = t_apo_resources
           exceptions
                COMMUNICATION_FAILURE    = 1 MESSAGE MSG_TEXT
                SYSTEM_FAILURE           = 2 MESSAGE MSG_TEXT
                NO_ORDERS_SUPPLIED       = 3
                NO_PEGGED_ORDERS_FOUND   = 4
                ORDERID_CONVERSION_ERROR = 5
                OTHERS                   = 6.
    if sy-subrc is initial.
      * do some stuff as RC was 0
    else.
    * log non-zero return code etc
    endif.
    * << End of Version 1

    And now Version 2.
    I didn't put this into the 1st post as the formatting goes bonkers.
    #>> Start of VERSION 2
      call function 'MY_FUNCTION_MODULE'
           destination RFCDEST
           starting new task 'taskname'
           performing receive_result on end of task
           tables
                orders_list          = t_orders_packet
                apo_orders_list      = t_apo_orders
                apo_resources        = t_apo_resources
           exceptions
                COMMUNICATION_FAILURE    = 1 MESSAGE MSG_TEXT
                SYSTEM_FAILURE           = 2 MESSAGE MSG_TEXT
                NO_ORDERS_SUPPLIED       = 3
                NO_PEGGED_ORDERS_FOUND   = 4
                ORDERID_CONVERSION_ERROR = 5
                OTHERS                   = 6.
      WAIT UNTIL results_received = 'X' UP TO 60 SECONDS.
    if sy-subrc is initial.   << Now this is always ZERO
      * do some stuff as RC was 0
    else.
    * log non-zero return code etc
    endif.
    FORM receive_result USING iv_taskname.
      RECEIVE RESULTS FROM FUNCTION 'MY_FUNCTION_MODULE'
           tables
                orders_list          = t_orders_packet
                apo_orders_list      = t_apo_orders
                apo_resources        = t_apo_resources
           exceptions
                COMMUNICATION_FAILURE    = 1 MESSAGE MSG_TEXT
                SYSTEM_FAILURE           = 2 MESSAGE MSG_TEXT
                NO_ORDERS_SUPPLIED       = 3
                NO_PEGGED_ORDERS_FOUND   = 4
                ORDERID_CONVERSION_ERROR = 5
                OTHERS                   = 6.
      results_received = 'X'.
    endform.                    "receive_result
    * < End of Version 2

  • List of values failure error when trying to use dynamic data values

    Hi there,
    I have a user who is experiencing problems when trying to use dynamic values in a report.  Whenever he tries to insert dynamic parameters he gets the following error message:
    Prompting failed with the following message: 'List of Values failure: Failed to get values.  [Cause of error: Access is denied.]  Error Source: prompt.dll  Error Code: 0x8004380D
    He even opened the sample report - prompting.rpt - that is included with CR and gets the same error.
    We are using Crystal Reports XI Release 2 ver. 11.5.11.1470.
    Any help would be appreciated.

    Please excuse my ignorance of the product.  I've had this problem dropped in my lap and I know practically nothing about Crystal Reports.  In doing some digging it appears to me as if the BusinessObjects Enterprise software may not be installed properly, if at all.  In the programs menu under the BusinessObjects XI Release 2 folder I see a BusinessObjects Enterprise folder, but the only icon listed in that folder is Software Inventory Tool.
    Is the BusinessObjects Enterprise software a separate install from Crystal Reports or is it bundled together?  I talked with the tech that did the install and he said that all he had was the Crystal Reports install media.

  • Hi I'm a total novice, as you will see. But Iam trying to use template of an employee schedule but when I try to add extra columns it does not add the preset formula with it, so it works out total hours and total pay?   If any one can help please.

    Hi I'm a total novice, as you will see. But Iam trying to use template of an employee schedule but when I try to add extra columns it does not add the preset formula with it, so it works out total hours and total pay?   If any one can help please before I throw it through the window!

    Grum12 wrote:
    Hi I'm a total novice, as you will see. But Iam trying to use template of an employee schedule but when I try to add extra columns it does not add the preset formula with it, so it works out total hours and total pay?   If any one can help please before I throw it through the window!
    Hi Grum,
    If the formulas aren't filling to the new column, you must have changed something in the template since you first opened it. Numbers is rather fussy about filling row content in columns as they are added. Only rows with the same expression in every Body Column will fill when a column is added. Just as an experiment, start a new Employee Schedule document from the Template Chooser and then add a column by clicking the Add Column handle in the upper right corner of the table. If that works, as it should, then think about what might have changed in your working document to disconnect that feature. Maybe we can figure it out together.
    Jerry

  • Trying to dynamically output form fields returns URL values

    Hello,
    If there is a better way to go about this (which is quite likely), please let me know how to go about it.
    I'm working on some code that is supposed to dynamically set the form variables as regular variables so that we can be lazy and not have to refer to the variable with form.somevariable name.
    That part works perfectly.  Until I start testing for URL conflicts in which a URL variable has the same name.  For instance. . .
    I have a form that passes two variables; FirstName and LastName.  If I hit the page, the form shows up, I input a first and last name and click submit.  The code works perfectly.
    However, if I have URL variables with the same names, the code reports the url variable values instead of the form values.
    Some sample values;
    url.FirstName = Joe
    url.LastName = Black
    form.FirstName = Steve
    form.LastName = White
    My code that exposes the form variable will correctly find the form field names, but then when I 'evaluate' the value of the given form field, it will return the value of the URL variable of the same name rather than the form variable.
    What I am really wanting (as I described briefly up above) is to have code that automatically converts client, URL and Form variables into 'regular variables' so that you don't have to write lots of extra code grabbing them later on.  Frameworks like CFWHEELS and ColdBox do this by default, but at the company I work out, we aren't using any of them.  I need it to expose the URL variables, but give presidence to form variables if they have the same name, because they are likely to be intended to do an update or such.
    The code follows  Feel free to ignore the code for the URL and client variables if you wish as they don't directly affect how the form code works, I have tested with them commented out and I get the same result.  I provided all of it to give a more complete idea of what I have been toying with so far.  Please note that I don't normally use 'evaluate'.  There is probably a better way to go, but I don't know what it is.
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <!--- Create a form so that we can post some form variables --->
    <form action="" method="post">
        First Name <input type="text" name="FirstName" />
        Last Name <input type="text" name="lastName" />
        <input type="submit" />
    </form>
    <!--- Set a variable to hold the list of URL variable names --->
    <cfset paramsurl = structKeyList(url)>
    <cfoutput>
    <br />
    URL variables:
    <!--- Loop through the list of url variables and then dynamically set a new variable to be equal to whatever is held by it --->
        <cfloop index="i" list="#paramsurl#">
            <cfset myDynVar = Evaluate(i)>
            <!--- Let's output the dynamically created variable as a test --->
            #i# = #myDynVar#<br />
        </cfloop>
    </cfoutput>
    <!--- If form fields exist --->
    <cfif isdefined("Form.FieldNames")>
        <cfoutput>
            <b>Field Names:</b> #Form.FieldNames#
            <p>
                <b>Field Values:</b><br>
                <cfloop INDEX="TheField" list="#Form.FieldNames#">
                    #TheField# = #Evaluate(TheField)#<br>
                    <cfset TheField = Evaluate(TheField)>
                </cfloop>
            </p>
            Lets try and output the two form fields without using the "form." notation<br>
            FirstName : #FirstName# <br />
            LastName : #LastName#
        </cfoutput>
    </cfif>
    <br />
    The client variables currently available are:<br />
    <cfoutput>
        <cfset nVarCounter = 1>
        <cfloop list="#GetClientVariablesList()#" index="whichClientVar">
            #whichClientVar# : #client[whichClientVar]#<br />
            <cfset whichClientVar = Evaluate(whichClientVar)>
        </cfloop>
    </cfoutput>

    Try this:
    <cfset structAppend( FORM, {
              'alpha' = 'bravo',
              'charlie' = 'delta',
              'echo' = 'foxtrot'
    }, true ) />
    <cfset structAppend( URL, {
              'alpha' = 'zulu',
              'lima' = 'mike',
              'echo' = 'papa'
    }, true ) />
    <!--- List the scopes in ascending order of importance. --->
    <cfdump var="#FORM#" label="FORM scope" />
    <cfdump var="#URL#" label="URL scope" />
    <cfset scopes = "url,form">
    <cfloop list="#scopes#" index="i">
              <cfloop list="#structKeyList( evaluate( i ) )#" index="j">
                        <cfset structInsert( VARIABLES, j, evaluate( i & '["' & j & '"]' ), true ) />
              </cfloop>
    </cfloop>
    <cfdump var="#VARIABLES#" abort="1" label="Combined Variables Scope" />
    What I did is insert 3 key/value pairs into the FORM and URL scope.  I then dumped the scopes to show their structure and values.  Then I defined a variable (scopes) which is a list of the least important scope to the most important.  After that, the loop I do simply goes through the SCOPES, their exisiting key/values and sets them into the VARIABLES scope.  Then, when it moves to the next scope of importance, it simply puts their value into the variables scope as well (overriding in the event it already exists), thus, the scopes defined later in the list override and replace.
    Then I just dump the VARIABLES scope (you'll notice it has the I, J and SCOPES variables in there that I used to create the loop.  If you perform this action in a function, simple make the I, J and SCOPES variables part of the LOCAL scope so they won't be in your VARIABLES scope.

Maybe you are looking for