ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Calculate the function in a cell that is created with CONCATENATE (https://www.excelbanter.com/excel-worksheet-functions/249064-calculate-function-cell-created-concatenate.html)

Matt

Calculate the function in a cell that is created with CONCATENATE
 
Background ....
$G$1 = a list
$L$6 = =CONCATENATE(RIGHT(E1,2)," Q")
$M$6 = A7:K78
$N$6 = =CONCATENATE("'",L6,"'",M6)

I built a formula with the concatenate function:

=CONCATENATE("=VLOOKUP(G1,",N6,",2,FALSE)")

That produces the desired formula:

=VLOOKUP(G1,'AG Q'!A7:K78,2,FALSE)

But, that output function does not calculate unless I go into the cell and
F2 F9.

Is there a way to have Excel perform that function automatically?
--
Matt

Gary''s Student

Calculate the function in a cell that is created with CONCATENATE
 
N16 contains a string that looks like a formula. Consider this very tiny
User Defined Function:

Function eval(r As Range) As Variant
eval = Evaluate(r.Value)
End Function

It calculates a string as a formula. For example if A1 thru A4 contain:

1
+
2
=

and A5 contains:
=A4 & A3 & A2 & A1
A5 displays:
=2+1

eval(A5) will display 3

--
Gary''s Student - gsnu200909


"Matt" wrote:

Background ....
$G$1 = a list
$L$6 = =CONCATENATE(RIGHT(E1,2)," Q")
$M$6 = A7:K78
$N$6 = =CONCATENATE("'",L6,"'",M6)

I built a formula with the concatenate function:

=CONCATENATE("=VLOOKUP(G1,",N6,",2,FALSE)")

That produces the desired formula:

=VLOOKUP(G1,'AG Q'!A7:K78,2,FALSE)

But, that output function does not calculate unless I go into the cell and
F2 F9.

Is there a way to have Excel perform that function automatically?
--
Matt


zvkmpw

Calculate the function in a cell that is created with CONCATENATE
 
Background ....
$G$1 = a list
$L$6 = =CONCATENATE(RIGHT(E1,2)," Q")
$M$6 = A7:K78
$N$6 = =CONCATENATE("'",L6,"'",M6)

I built a formula with the concatenate function:

=CONCATENATE("=VLOOKUP(G1,",N6,",2,FALSE)")

That produces the desired formula:

=VLOOKUP(G1,'AG Q'!A7:K78,2,FALSE)

But, that output function does not calculate unless I go into the cell and
F2 F9.



There's a different approach that might be easier to use.

Instead of using CONCATENATE to build a formula, I approached it using
=VLOOKUP(G1,OFFSET(...),2,FALSE)

The purpose of OFFSET(...) here is to specify a table_array of the
needed height and width, placed properly in 'AG Q'.

For example, I tried
=VLOOKUP(G1,OFFSET('AG Q'!$A$1,A1,A2,A3,A4),2,FALSE)
where
A1 contains the vertical offset in 'AG Q' where table_array starts
A2 contains the horizontal offset in 'AG Q' where table_array
starts
A3 contains the height of table_array
A4 contains the width of table_array

Your case might not be as general as this, so modify to suit.


All times are GMT +1. The time now is 12:45 PM.

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