Currently working on my final project thesis, i need some excel calculation for manual analytic section on the report.
So here the problem,
I need to define position of each facelets.
In example position Facelets 1 is 9. (Check picture below)
So far, i get the way to reach that by transpose each row to 1 column. Like picture below and use excel function MATCH() to get the relative position.
=MATCH(1;A1:A18;0)
Is there a way to get relative position without transpose the lookup array?
I have try use multiselect row (example A1:A3;B1:B3;), but it return errors.
Hope someone can help me.
Using a "Key" to return the correct location:
=INDEX($N$1:$Y$9,
AGGREGATE(15,6,(ROW($A$1:$L$9)-MIN(ROW($A$1:$L$9))+1)/($A$1:$L$9=AB2),1),
AGGREGATE(15,6,(COLUMN($A$1:$L$9)-MIN(COLUMN($A$1:$L$9))+1)/($A$1:$L$9=AB2),1))
As long as the two areas are the same size and the values unique this will return the location on the "Key"
Related
Good day all,
Using Excel formulas, how do I solve for uniques within array that aren't apart of uniques from another array?
I've tried.
=UNIQUE(B:B&"<>header",FALSE,TRUE)
=UNIQUE(B:B,FALSE,TRUE)&"<>header"
=UNIQUE(B:B,FALSE,TRUE)-"header"
=UNIQUE(B:B,FALSE,TRUE)-{"header"}
{=UNIQUE(B:B,FALSE,TRUE)-{"header"}}
{=UNIQUE(B:B,FALSE,TRUE)}-{"header"}
{=UNIQUE(B:B,FALSE,TRUE)&"<>header"}
=UNIQUE(B:B,FALSE,TRUE)-UNIQUE("header")
In this example I've only excluded 1 header, however my headers will be constantly moving so it is important I can dynamically add and subtract unique items to remove from entire column.
Edit: Giving more information below
I've continued research and came across this article however it doesnt fit my needs.
https://www.mrexcel.com/board/threads/extract-unique-values-but-also-exclude-names-from-another-column.1101407/
Here is a picture of what I'm trying to accomplish
=FILTER(list2,COUNTIF(exclusion,list2)=0)
Or without list 2 helper:
=UNIQUE(FILTER(listist1,COUNTIF(exclusion,list1)=0))
I have a series of data (in 2-dimensional list 'CombinedTable') I need to use to populate a table in an MS Word template. The table has 7 columns so I attempted the following using docxtpl module:
context = {
'tpl_modules1': CombinedTable[0]
'tpl_modules2': CombinedTable[2]
'tpl_modules3': CombinedTable[4]
'tpl_modules4': CombinedTable[6]
'tpl_modules5': CombinedTable[8]
'tpl_modules6': CombinedTable[10]
'tpl_modules7': CombinedTable[12]
}
tpl.render(context)
tpl.save(FilePath + FileName)
Not the most elegant solution I know but am just trying to get this working- unfortunately using this code with the following template results in tpl_modules7 data being written in to all columns, rather than just the 7th.
Does anyone have advice for how to resolve this? I attempted to create a for loop through the columns as well as rows but was unsuccessful in writing anything to the doc (was saved as a blank & empty doc).
The CombinedTable variable is a list of 12 lists (one for each column in template, although only 7 contain data). Each of these 12 lists contains another list with cell data whose length is equal to the number of rows to be written to the table in that column. This means that the number of rows that are written to varies for each column.
EDIT: Looking more closely at the docs, it states that I cannot use %tr multiple times in the same row. I assume I will then have to use a loop through %tc and %tr (which I tried & couldn't get working). Any advice on how to implement this? Especially on the side of the word document. Thanks!
I was able to resolve this satisfactorily for my requirements, however my solution may not suit all. I simply set up 7 different tables in a document with 7 columns and adjusted margins/borders to suit the dimensions I required for the tables. Each of the 7 tables had identical docxtpl syntax as image in my question with the small buffer columns between them being replaced by columns in the word document.
Excel data table
I am new to here. If I have any mistake in making new post, Please tell me and I am ready to correct my mistake.
For above pic, I want to extract the 2 smallest values in column D respectively between row 77 and row 84, and between row 84 and 97. The resulting values are shown in P77 and P84 respectively.
How should I write the excel formula for it? Or it needs VBA to code it?
Thanks a lot for your sincere help!
(Update)
data set
above pic is another capture of my data set which filtered the day with "Bullish breaking candle/bearish breaking candle" only.
Thanks
There are lots of functions/ways to calculate Minimum in addition to the MIN function and it is worth being familiar with them as you will require different ones according to your data.
So quick rundown of some of the main offerings:
SMALL function:
I would consider also the more versatile SMALL function
=SMALL(D77:D84,1) in cell P77
=SMALL(D84:D97,1) in cell P84
You put the array (the range of cells to compare) then the k-th smallest item in that range that you want to retrieve e.g. put 1 to get the smallest, as above, comparable to MIN function, or 2 to get the second smallest etc.
Official blurb below:
Description
Returns the k-th smallest value in a data set. Use this function to
return values with a particular relative standing in a data set.
Syntax
SMALL(array, k)
The SMALL function syntax has the following arguments:
Array Required. An array or range of numerical data for which you
want to determine the k-th smallest value.
K Required. The position (from the smallest) in the array or range
of data to return.
AGGREGATE Function:
Consider the even more versatile AGGREGATE function which can cope with hidden rows in the range, errors etc. You can specify a host of additional requirements whilst still getting the minimum value
General syntax for first form:
AGGREGATE(function_num, options, ref1, [ref2], …)
Function 5 is Minimum. Options are viewable at link I gave but 7 is ignore errors and hidden rows. So, you could use:
=AGGREGATE(5,7,D77:D84)
The AGGREGATE option above is the only version that will still return the minimum correctly if there is an error in the range D77:D84 e.g. a DIV/0 error.
SUBTOTAL Function:
Similar to the AGGREGATE function is the SUBTOTAL function.
You can use SUBTOTAL(5, D77:D84) where 5 specifies you want the minimum for the range. This will not ignore errors. SUBTOTAL(105,D77:D84) will ignore hidden rows though.
Simply put the formula '=Min(D77:D84)' in cell P77
and '=Min(D84:D97)' in cell P84
enter image description hereenter image description here
According to given data table, I want to find out the top 10 students on the basis of marks (by using excel query) but I think Max function is not working here. kindly suggest.
You can use Large with Match and Index to get the list:-
See the image of my example. I have used dummy values.
Step1 :- Use this formula (I have used in D column 'Top 10')
=INDEX($A$2:$B$13,MATCH(LARGE($B$2:$B$13,ROW(1:1)),$B$2:$B$13,0),1)
Step2:- Then drag this formula down for 10 rows. You will get the top 10.
Let me know if you have any questions
Try the rank functions.The original RANK has been deprecated. You can use RANK.EQ instead.
The syntax is
=RANK.EQ(value, entireRangeOfValues).
e.g. =RANK.EQ(J2,$J$2:$J$8015,0)
The last parameter allows you to specify sort order.
Depending on your needs you can also look at RANK.AVG
These differ in how they rank duplicate values.
Sorry this is a basic question but will try to explain clearly.
I have two worksheets. One a summary and the other that holds the raw data. In the summary tab in cell A1 I have a drop down with each day dd/mm/yyyy.
What I want to do is to find the same date in the raw data table and then look down a set amount of columns and then look across a set about of rows and return that as my value in the summary sheet.
Been trying but can only get to look down or across a column or row and not both.
I think I didn't get enough sleep last night!
Thanks in advance for any help at all.
Without an exact example to apply this to, I'm guessing what you want is offset match match.
As per the formula on the link, you want:
= OFFSET ( starting point , MATCH ( vertical lookup value, left hand lookup column excluding starting point , 0 ) , MATCH ( horizontal lookup value , top header row excluding starting point , 0 ) )
So, if I'm understanding correctly, you have a dataset that looks a bit like this:
Below the data I have example of items you want to find. This probably isn't the cleanest way to do this, but say you want the "hit" column for Operation 2 on 03/07/1989, then it would be:
=OFFSET(A1,MATCH(A10,A1:A5,0)-1,MATCH(A9,A1:H1,0))
This will return "0.81544".
To get the right data, you'll need to mess about with the - and + at the match formulas, and without seeing your data set it's hard to get you exact examples, I hope it helps though! I had to modify it slightly due to the fact I believe that your top row will include the dates as well as the column headings for each. Going through the linked guide should help you plenty to tailor it to your needs.