MAX(IF(MOD(ROW(F3:F9),2)=0,F3:F9)) returns 203 and IF(MOD(ROW(F3:F9),2)=0,F3:F9,E1) returns {0;47;0;203;0;"A";0}
when you press F9.
If I change the range to exclude the non-numeric value I get the same error (it shouldn't matter according to the help file as non-numeric values are ignored).
I have a userform where the user enters prices for up to 12 items in textbox controls, and these prices are stored in an array. The textboxes are titled tbPrice1, tbPrice2, etc. I'm having an issue with the line of code I am using to store the values in an array. Every time I attempt to store them, I get runtime error 13 type mismatch, but I don't understand why.
dim PartPrices(1 to 12) as Currency
For x = 1 to 12PartPrices(x) = IIf(Trim(Me.Controls("tbPrice" & x).Value) & vbNullString = vbNullString, CCur(0), CCur(Trim(Me.Controls("tbPrice" & x).Value)))Next
A little more explanation here. Not all 12 parts will have prices, so I use the IIf statement to store the value 0 whenever the user has left a price field blank. I use trim in case they leave spaces in the price textbox or something. When the field is not blank, I take the value entered in the textbox, convert it to currency and attempt to store it in the relevant element of the array.
Trying to write function statement that does the following:
IF cells C9:E14 contain any of the following: "Termination" or "Forms" or "PWE" or "TSA" or "3rd Party", then cell would show "Provided Date (If Applicable):",""
This is my best shot at trying to get it to work, but it wont, no matter what iteration I try.
=COUNT(IF(C9:E14="TERMINATION",IF(C9:E14="FORMS",IF(C9:E14="PWE",IF(C9:E14="TSA",IF(C9:E14="3RD PARTY")))))>0,"PROVIDE DATE (IF APPLICABLE):","")
I need to make a list of Part Numbers in quotation marks. If a number of digits of a P/N is less than 13 a number of space characters has to be added to make the string 13 characters long.
We have example P/N: 1234567890123 12345678 123456
should become: "1234567890123(no extra space characters should be filled-13chars)" "12345678(5 extra space characters here)" "123456(7 extra space characters)"
Is there a function that inputs a cerain number of a specific character ("space" in this example)?
I am trying to present a 10X10 Matrix Range (A1:J10) full with UNIQUE INTEGER random numbers. I thought to use an Single Dimension Array (100 deep) and fill it with the Rnd() Function.
Then, I thought to check the RANK of each element of that Array and transfer it to 100 cells (10X10) in the Sheet (assume A21:J30) with the help of 2 nested loops.
My problem is: How to find the Rank of each element within ARRAY1. Is there a way to refer to an Array as to a Range in a Worksheet. (I do not want to transfer 100 values from the Array to the Sheet - I rather prefer to check the Rank WITHIN(!) the Array).
Option Base 1
Sub MiKe() Set AWF = Application.WorksheetFunction H = 10 V = 10 Redim Array1(H * V) For CL = 1 To H * V Array1(CL) = Rnd() Next For HC = 1 To H For VC = 1 To V.........................
I'm trying to calculate the sum of rank vlaues in an array formula (required for a Mann-Whitney U-test calc). For example, I have the results of a survey quesiton (1-5 rating) with particpant groups of Sales, Marketing & Other. I want to sum the Ranks of the data points that come from Sales or Marketing (but not Other). The added complexity is in the need to add in the Rank correction value to account for ties.
The conditional arrays are the tricky part. I'm very close, but the array formula is still including the Other values. If I delete those data points the formula works great. For those with strong stomachs, I've copied my latest formula below.
I am trying to rank records from multiple sections of a single array. Since there are over 100 sections I want to use a formula. Using the MATCH function I have the first row for each section of the array (Col D below). The psuedo code of what I'm trying to do is:
RANK(B1,Bfirst row of section:Bfirst row of next section -1)
Example (results in Column C):
A B C D 1 West 100 3 1 2 West 150 1 4 3 West 125 2 4 East 50 3 5 East 75 2 5 East 140 1
I will also need to increment the section as I complete each section of the array. Am I trying to do too much in a single cell??
I am dumping data out of SAP, including the following fields:
* Vendor * Material * PO # * Qty * Amt * Date
I would like to concatenate the material and vendor and pull in the PO # for the most recent date.
The VLOOKUP part is easy on the material/vendor, but I haven't had any luck in integrating a MAX, LARGE or RANK function to pull in the PO corresponding to the most recent date.
Once the PO # associated with the most current date can be identified for the material/vendor combination, I will need to utilize another vlookup to match the PO # up against a separate data file to pull in pricing. If anyone can think of a way to accomplish this in one step as opposed to multiple formulas.
I need to use the rank function to get the position of each item in a list based on its corresponding Revenue. However, the range that has the revenue numbers also contains a percentage related to that item. Basically, I need to use RANK based on a list that ignores any elements which are <= 1.
I have an eight digit number (a digit can show up more than once) and determine the rank of the sum of each number. I had the ties broken by whatever digit showed up first.
In the following example, June 13th row showed 6 digits tied for second place and the tie was broken by the order in which the digit show up in the range.
On the June 14th row it showed digit 4 and 5 tied with 3 occurrence each (running total for the two days). But digit 4 came in twice that day, and reach a total 3 first before digit 5, but Rank2 shows that digit 5 was ranked first, which should of been digit 4.
I'm trying to rank the values in row 94 while ignoring only zero values and including positive and negative values. I'd like the function to rank the values in descending order, beginning with the most positive value and ending with the most negative value while ignoring all zeros. The function I've come up with so far ranks the positive values correctly and ignores the zeros, but the negative values are ranked as if they come after all of the zero values instead of being ranked immediately after the smallest positive value. Is there a way to fix the function below to make it do what I want?
In the RANK() function I can rank a value depending on one set of values (one condition), but when you SORT data you can choose a second (and a third) condition.
Is there a way to RANK with two sets of values (two conditions)?
I have no problem with the rank function in terms of the ties showing as duplicate values, however, when this occurs I would like a "T-" to appear before ranks that are tied, and show nothing if they are not tied. Essentially, I want the final result to look like this, without having to manually add the "T-" after the ranking is complete. 1 T-5 3 T-3 5 1 3 T-3 4 2 1 T-5 I have done more complex Excel formulas before, but for some reason this is stumping me.
I am a meteorologist and I keep track of my forecaster's monthly statistics. One area I track is percentage of warnings issued with desired lead time. I calculate and rank the individuals by percentages.
Example: Forecaster A: 3 of 4 75% Rank 1 Forecaster B: 1 of 2 50% Rank 2 Forecaster C: 0 of 3 0% Rank 3
Or if ties: Forecaster A: 6 of 6 100% Rank 1 Forecaster B: 3 of 3 100% Rank 1 Forecaster C: 1 of 2 50% Rank 3
Is there a way in Excel in case of ties, to award a higher rank (1) to the individual who went 100%, 6 for 6, compared to the individual who also earned 100%, but only 3 of 3.
I have 3 columns, A B C: Distribution Center, Sales, and Top Ranked. What I am trying to get is a Rank function in the Top Ranked column that looks for the highest value in the Sales column, but returns the Distribution Center associated with this Sales value instead of the actual value. I could get this done with some helper columns and a VLOOKUP, but the report is rather large and the VLOOKUP not only slows it down but also pushes the file size over the limit. Also, I will be using this for metrics other than Sales where I'll be looking for the highest and lowest figures, so if a Max or Min function works better, that would be fine. I just haven't been able to figure out how to have it return the associated data instead of the ranked data.
The array sum function works but Concatenate not. In Excel I get the formula Concatenate(H2:H3) in stead of Concatenate(H2,H3). What should I change to get the code working?
I want to create a function in a module that will read an array from sheet1 preform an operation on it then return the result to the spreadsheet in a defined amount of cells in this example 8.
In Module1:
VB: Function func1(ByRef arrayA()) Dim arrayB(8) For k = 0 To 7
[Code].....
How does the resultant arrayB get populated onto the spreadsheet?
I want to use the countif function for a certain array. The range is set by another cell which is made up out of a percentile of an entire row.
The problem is is that excel doesn't see the value it displays so i continuously get a value of 0 in the countif cell. If i fill in the range by hand, which is exactly the same range as the outcome of the percentile the countif cell does give the correct value.
So in short the problem is i guess that the countif cell does not recognize the value because this value is made up by a formula.
I am working on a Monthly Vehicle Spread Sheet. One of the outputs I am trying to achieve is an automatic calculation of Mile Per Gallon. To do this, I need to know if there is a function that will return the value of the first entry of a group of cells.
In calculating the miles per gallon, I need to subtract the first gallon amount entry of the total gallons in the month, then divide that number into the difference of the mileage in the month recorded when the vehicles fueled up.
I am trying to write a code for simulating a stock price using geometric brownian motion. I have the function part down as follows:
Public Function SimStock(Initial_Stock_Price As Double, _ Expected_Return As Double, _ Volitility As Double, _ End_Time_Days As Double, _ Number_of_Steps) As Double SimStock = Initial_Stock_Price * Exp((Expected_Return - Volitility ^ 2 / 2) * (Number_of_Steps / End_Time_Days) * NRnd2() * Sqr((Number_of_Steps / End_Time_Days))) End Function
Now what i need to do is to apply this to an array. so that when i run the sub it will simulate prices from today up to some number of days that i specify. This number of days will be equal to "End_Time_Days" which is part of my function. Furthermore the simulation has to be such that it uses the above formula for the first entry but then replaces "Initial_Stock_Price" with the result of the preceding entry in each subsequent entry.
For some reason my array called "PriceSum" is not getting load with values or not being summed. I am not sure if it is because I am trying to load a value with a decimal in it or not.
Code: Private Sub Purchase_Click()Dim MyArray As Variant Dim x As Integer Dim t As Integer Dim lastrow As Integer Dim QuantityArray(0 To 1000) As Variant,
I have a big macro that runs whenever there is a change made. I'm not gonna link it all because I don't think that would be useful... This macro does:
1. Disables Events. 2. Removes Protection 3.Calls some macros that check a few values and change a few cells. 4. Activates events. 5. Hides or shows ranges of cells depending on the results of the called macros. 6. Reactivates protection.
As well as the cells the called macro changes, there is a column of True/False results stretching from AE16 to AE491 with several blanks in the list as well. (All of this is decided upon a different macro that isn't linked with the change.) I want a loop that will read the True/False column and if it finds a false, make 8 buttons invisible.
I tried putting this code between Step 5 and 6 of the macro.
Code: Dim J As Integer J = 16 Do
[Code].....
This isn't working at all... I was thinking if there was gonna be an issue then it would be the opposite where it stops the buttons appearing all together but even when there are falses and I am changing things it doesn't seem to make a difference.