# Entering Multi-cell Array Formulas

May 17, 2007
I successfully built a multi- cell array that sorts a bunch names into ascending order. But now when I need to use the same array formula again, I get the wrong results in the array formula cells and I can't figure out how I'm entering the array incorrectly. The error I get in each of the 7 cells is the identical number, "1".

Here's the deal. Cells B10 - B16 contain names and numbers that I need sorted in ascending order. Then, I highlight cells C10 - C16 and enter the following formula using shift-ctrl-enter: ...

View 4 Replies
ADVERTISEMENT
Mar 4, 2014

I have a requirement to enter 25 formulas into 25 different cells. The formula is this:

[Code]......

The only thing that changes is the cell reference at the end which goes up in increments of 20,000, i.e. R20000, R40000, R60000, etc.

I have this set up and it works fine. My question is whether there is another quicker way rather than have the above code repeated 25 times?

View 5 Replies
View Related
Feb 27, 2014

I have a spreadsheet with multiple formulas in several columns - my staff will be using this spreadsheet to enter data throughout the year so it will be constantly touched by several users. Some of the columns are hidden, but I worry about someone sorting something funky or deleting or adding a row. Any way to protect the columns I have formulas in while still allowing them to enter data in the rest of the spreadsheet?

View 2 Replies
View Related
Jul 21, 2009

Basically I have a template from two different worksheets and I am making one sheet the "master sheet" and the other sheet is filled in automatically from the master sheet. I understand how to get this basic function to work so here is my real problem...

I would like my sheet to look like this repeated 2000 times...

'sheet1'A16

'sheet1'A16

'sheet1'A17

'sheet1'A17

etc.

Every time I try to drag the formulas down to go 2000 rows it starts doing this...

'sheet1'A16

'sheet1'A17

'sheet1'A18

'sheet1'A19

etc.

How do I get this formula to repeat like I have shown in my desired example?

View 6 Replies
View Related
Oct 20, 2008

My VBA sub contains

DIM sFormula As String

DIM rCell as Range

at some point in the code, the value of sFormula is set to something like

=ROUND(SUM($A$5:$A$10*$B$5:$B$10),2)

(not really this formula but of that flavour)

later in the code I have an instruction

rCell.FormulaArray = sFormula

(rCell is set to a single cell at the time)

When I run the code and then examine the cell, I find that the cell's formula has been correctly set to

=ROUND(SUM($A$5:$A$10*$B$5:$B$10),2)

however there are no {curly brackets} surrounding the formula to suggest that it has been entered as an array.

View 9 Replies
View Related
Aug 21, 2013

I have multiple rows within a cell separated by Alt+Enter, and would like to combine them as follows:

Desired Result

First

First

Name

Name

First Name

First Name

View 2 Replies
View Related
Jun 21, 2009

See attached sample workbook. Row 37 current has formulas between columns AQ and IP that return a value 2 or 4. Conditional formatting on these cells then gives them an appropriate colour.

Due to the large number of cells involved, I wanted to use a multi-cell array formula instead. I have attempted this on row 50 which should give the same results, but as you will see this is not happening.

View 4 Replies
View Related
Nov 26, 2008

I have a spreadsheet which I will be adding to over time. I need a macro that will look for the last 10 rows and then pull together a summary table based on data from several of the columns on each of those rows.

I've tried to go about this by using an array. The array will always be the same size (it will always be 10 by 11, i.e. EngineArray(10,11)-basically the same size as my summary table). I've also set Option Base 1.

What I’ve got so far is below. It isn’t working properly though. To start with I was getting ‘type mismatch errors’. Now instead of reading the numbers from the selected cells into the array, it just changes all the cells I’m trying to read from to ‘TRUE’?

View 6 Replies
View Related
May 15, 2007

I've created an array that is 60 pairs of cells wide. Each row in the array represents a different account. The 60 pairs of cells contain up to 60 payments in a payment stream. The first cell of each pair may contain an amount of interest to be paid, or zero if the time band in which it was/will be paid is not within the time range that I'm evaluating. The second cell of each pair may contain a number between 1 and 10 representing the time band in which the interest will be paid, or zero if the payment date falls outside of the time bands.

I need to be able to sum the interest to be paid in each time band for all of the accounts in my database.

Is there an Excel function that I could use or will I need to write some VBA code to loop through each row?

View 9 Replies
View Related
Jan 12, 2007

I am currently using a macro which highlights keywords and associated page views from an array in my website stats spreadsheet. Now I need to take it to the next level:

I want to use a multi-dimensional array to pull out any keywords that are duplicated, and display them at the top of my spreadsheet with the totaled page views next to them in a different color (red).

Here is my existing Keyword highlighting

Sub Highlight_Keywords()

Dim vntWords As Variant

Dim lngIndex As Long

Dim rngFind As Range

Dim strFirstAddress As String

Dim lngPos As Long

View 9 Replies
View Related
Jul 20, 2007

I am using multi-result array formulas to reduce error checking when processing arrays of numbers. However I cannot get this to work with some of the functions as they use Max or other array aware functions and so ruturn the same result for each cell they are enetered into.

Example for A1=2,B1=4

=2*A1:B1

array enetered gives 4,8

However

=Max(2*A1:B1,5)

array enetered gives 8,8 rather than 5,8. I have tried creating my own version of a max function, but am having problems getting it to evaluate array functions.

View 6 Replies
View Related
Jul 20, 2007

I searched and found a few posts about transposing arrays into a range of cells, but none of them seemed to solve my problem. So, my problem is, I have a .Net assembly which provides various functions to allow Excel to access our Oracle DB stored procedures/tables, etc. This assembly is exposed via COM Interop. I call the GetSPINTypes() method, which returns me a list of type pairs (ID, Name), in a CSV string format.

I split the CSV into rows, and then put each row into a 2-dimensional array.

I then need to dump that array into one of my sheets in Excel, so I try to do the usual Range.Value = Array, but this sometimes tells me there is a type mismatch, and most times just doesn't fill the range. I've checked my arrays in the watch window, and they have definitely been filled in correctly, the values just don't appear when they are put into the sheet. See the code I'm using below:......

View 4 Replies
View Related
Aug 18, 2007

I have made the function below to return a variant multidimensional array. I pass the function an array of folder paths that I wish to search through looking at subfolders within that path where their name matches a search string that I pass to the function. eg., it will find a folder named "Catnap" if you pass the string searching for as "Cat*".

The size of the array it builds depends on how many folders it finds that match the search string and so needs to be built dynamically. Hence, I believe it builds a 2 dimensional array horizontally and I transpose it at the end of the function. In each element I put the folder name that was found in the first dimension and the path to that folder in its second dimension.

I have a 2 column listbox on a form that I set this array to. eg., Me.ListBox1.List = DirPaths("C:","Cat*",vbDirectory,100)

This works fine and shows a list of folder items found by folder and path in the two columns of the listbox if there is greater than 1 search found. However, when the search only finds 1 then the listbox shows the folder name with the folder path in row 2 of the list box. (See below).....

View 2 Replies
View Related
Feb 26, 2008

I've got the folowing array's

date1>company1>price

>Company2>price

>company3>price

>enz

Date2>company1>price

>company2>price

>enz

enz.

But these are not the array's that i need for a correlation that i want to make.

Is it possible to transform the array's above to an array such as:

Company>date1>price

>date2>price

>date3>price

>enz

View 5 Replies
View Related
Feb 27, 2008

I'm trying to use VBA to do some matrix processing. I have successfully done matrix processing in the spreadsheet, but I'm looking to port the logic into VBA to more easily reuse central formulas and reduce the amount of code in the spreadsheet.

The function shown below works. I had to hack around the variable declarations to eliminate processing/compile errors but it seems to function (no pun intended).

While debugging I noticed that this function would seem to get called 4 times. I do have other modules running, although I don't think any other modules are affecting this.

After some input from shg, I updated the variable declarations, but I'm getting an "Overflow" error reported. Sometimes (not always) a divide by zero also pops up. I do have the Msgbox for errors at the end, I haven't tried removing that part to see if the error reporting vanishes. I'm not sure 'hiding' error alerts is the best thing to do anyway...

View 8 Replies
View Related
Apr 15, 2008

the built in "Join" function can join all elements of a 1-dimensional array into a string with delimiter. Now, how do I do that with multi-dimensional array if I just want to join 1 dimension of it.

For instance, I have:

m = 10

n = 20

Redim my(m, n)

'assign values to array here...

'I want to join, say, my(5, 0 to n) only

'How to do that without declaring a new 1 dimension array?

Also, I want to write a join sub/function to do the above for n-dimensional array, do I need to write each one for every number of dimension (1 sub for 2-dimension, 1 sub for 3 dimension, etc.)?

View 4 Replies
View Related
Aug 23, 2012

Is there any way to do this part of code without calling out each element individually?:

VB:

Dim aSequence(7, 1) As Integer

'setup Evaluation sequence

aSequence(0, 0) = -1

[Code]......

View 2 Replies
View Related
Nov 28, 2008

Attached is the file where I want to derive Min Date of seq A and asset Type Char.

SeqAsset TypeStDateEndDate

AChar21-11-200828-11-2008

BEnv22-11-200829-11-2008

CProp30-10-200830-11-2008

AChar03-11-200801-12-2008

AChar04-11-200801-12-2008

AChar05-11-200801-12-2008

AChar06-11-200801-12-2008

AChar07-11-200801-12-2008

I want to find the Minimum Date of Seq "A" and of Asset type "Char". I used following Array Formulas but showing the correct answer 30-10-2008MIN(IF(A2:A9="A",C2:C9="Char"),(D2:D9)) But Istead of 03-11-2008 it's showing 30-10-2008 date of seq C and of asset type Prop

View 2 Replies
View Related
Oct 14, 2005

I typed in the word array into Excel Help and found this item

"About array formulas and how to enter them"

I am trying to duplicate the first example and cannot

Ex: =Average(if(C5:C14="Europe",D5:D14))

I tried something similar to this (diff cell ref) and I get #VALUE

Do I need to check off an addin or something?

View 9 Replies
View Related
Sep 12, 2012

Do array formulas work if the array is across sheets instead of across columns or rows? I'm getting a #Ref! error when I try to use an "across sheets" array.

I'm doing this:

=sum(if('Sheet 1:Sheet 2'!A1=1,'Sheet 1:Sheet 2'!A2,0))

With a CTRL + SHIFT + ENTER return.

View 5 Replies
View Related
Apr 20, 2004

I have been lurking around for past month learning lots from MrExcel's wonderful web site. One of the many things I learned was how to improve my spreadsheets with Array Formulas, but today I ran into a problem on a new spreadsheet I'm building for work.

Here's the problem: I have 39 coworkers. For each coworker, I have 14 Array Formulas using SUMPRODUCT command with up to 5 "conditions", similar to this example:

{=SUMPRODUCT((user=$A$5)*(task=AO$3)*(DateChecked>0)*((Error="Error Removed")+(Error="Error Converted to an FYI")))}

Each condition such as "user" and "task" is a static named range of 5000 cells. This spreadsheet will hold one week's worth of my coworkers' work. This past week they have processed about 2500 items. To be safe, I doubled this number to determine the static named range size.

For each worker I have 56 columns (one for each possible task which a coworker can process).

So for each coworker, there will be 14 * 56 = 784 Array Formulas.

Currently my spreadsheet only has a single coworker defined, so I only have 784 Array Formulas, but it takes 35 seconds at 100% CPU Utilization when I press F9 (Calculate all formulas). Right now, I am running this on my Home PC (a 400 MHz PII PC with 256 Megs of RAM, OS is Win2000 at SP4 maint level and Excel 2002), but it is equally slow at work (1.7 GHz Celeron with 256 MB of RAM running Win2K SP4 and Excel 2K).

I haven't tested yet, but even if I assume a linear progression, with 39 coworkers I am thinking it is possible the amount of time for Excel to recalculate all the formulas will be 39 times longer than it is currently. This will be close to 22 minutes. That is a long time to wait! It will be even worse if my testing shows the amount of time Excel takes to evaluate the array formulas is exponential instead of linear...

...784*39 = 30,576 formulas...

View 9 Replies
View Related
Apr 18, 2006

I am having little luck creating an array to work with 3 critieria. Here is what I am trying to do: In the attached spreadsheet I am trying to show a total for each "Global Process" based on if "Reason Cancelled" and a date greater than or equal to March 1st, 2006. Here is what I currently have for the array formula: note: this is an Excel formula not VBA. I couldnt find the right code

=SUM(( 'Raw Data(Added_Cancelled)'!$D$2:$D114="Fulfillment")*('Raw Data(Added_Cancelled)'!$I$2:$I$150="Other")*('Raw Data(Added_Cancelled)'!$H$2:$H114>="2006-03-01 00:00:00"))

View 7 Replies
View Related
Jul 22, 2014

I would like to display the column header of the row in which a value other than 0 exists in a cell for each instance that value exists in an array spanning 3 columns. So the result cell could be any of the three column headers.

I started the formula in P2 of the GL Detail-2012 tab. (FILE TOO BIG)

Excerpt:

Resin Sand Eliminated Segment

- (12,896.65)-

- (6,570.85) -

- (11,503.80) -

- (13,188.50) -

If there is any value other than 0 in Resin, Sand or Eliminated columns, return that column's header under Segment.

Here is what I started: =INDEX($M$1:$O$1,SUMPRODUCT(COUNTIF($M$2:$O$67756,)))

View 2 Replies
View Related
May 14, 2009

Does anyone know how to activate a block of different array formulas at once??

Example:

N7:Q80 has a total of 296 Array Cells. Each has a unique formula & I cannot just drag to fill these nor can I activate all at once.

In the future, I don't want to have to manually activate them w/F2, CTRL+SHIFT+ENTER.

btw, Why do I have to press F2? Is that only in Excel 2007? I googled pretty extensively & don't see an option how to only press CTRL+SHIFT+ENTER. It would be nice not to have to press F2 everytime.

View 14 Replies
View Related
Nov 16, 2013

I would like to master the dreaded array formulas. Any Excel based accounting consolidation tool or other consolidation tool out there that I could adapt to consolidate group accounts on a monthly basis.

View 5 Replies
View Related
Dec 28, 2007

This formula is returning 0.2578 when it should return 2.473

{=AVERAGE(('Data-Design'!E2:E6000)*('Data-Design'!Q2:Q6000=1))}

What am I not understanding?

I want the average of column E when column Q=1

View 9 Replies
View Related
Oct 3, 2007

I would like to set up VBA codes to generate a variable number of transition matrices. I would like to know how I can define dynamic ranges instead of coding each and every range. In the codes below, I have to define each range one by one instead of using a loop.

Sub TransitionMatrix()

Dim P1 As Range

Set P1 = Cells(2, 2).Resize(3, 3)

Dim P2 As Range

Set P2 = P1.Offset(5, 0).Resize(3, 3)

P2.Cells(0, 1) = "P2"

For i = 1 To 3

For j = 1 To 3

P2.FormulaArray = "=MMULT(" & P1.Address & "," & P1.Address & ")"

P2.BorderAround Weight:=xlMedium

Next j

Next i

Dim P3 As Range

Set P3 = P2.Offset(5, 0).Resize(3, 3)........................

View 3 Replies
View Related
Jan 16, 2008

I've created a very large spreadsheet (4096 calculations) and I'm using array formulas for a large number of cells, which leads me to my current predicament. All the formulas are written in, but I haven't done the necessary ctrl+shift+enter after finishing all of them (there is only slight variation in each calculation so I produced them in an iterative manner) and I was wondering if there was a way besides selecting each cell individually - pressing F2 - Then pressing CTRL + SHIFT + ENTER to make all my formulas array formulas.

View 5 Replies
View Related
Jun 30, 2014

I have a listbox with 8 columns. Multiselect is enabled, and it must stay this way. As part of my program, after the user presses a command button, I need to use the row indexes of the selected rows in order to copy the selected information into an array which is then placed in a different listbox, and then delete the items from the original list. Pseudocode of what I want to do:

[Code] .....

But my understanding is that .ListIndex does not work this way with multiselect listboxes. I've tried searching for a solution for a while, but I cannot find one.

View 5 Replies
View Related
Dec 31, 2013

I am trying to calculate a matrix of array formulas that is roughly 365 x 137, or about 50,000 cells being calculated from a range of roughly 12,000 x 137. There are multiple if statements within the array formula, and then those 50,000 cells are referenced to another, but smaller matrix of array formulas (25 x 137). Each of these matrix sets is for one year, and there are three years that need calculated.

Problem: When calculating the 50,000 cells it takes roughly 2.5 hours to complete all calculations. So, for 3 years it will take roughly one work day of tying up my computer to just compile data that will then require several days of calculation/manipulation.

Question(s): Is there a way to speed this up to a reasonable amount of time (I'd even take 30 minutes at this point)? Or, is Excel simply the wrong tool to be using for this amount of data? Do I need a better machine to run these calculations? I am currently using a Dell XT3 with 2.5 Ghz i5 quad core processor.

View 3 Replies
View Related