All, I come before you with a puzzle that I cannot figure out.
I recently transitioned to Office 365 from 2010 and am having a world of difficulty adapting my formulas and scripts to work in the new platform.
Particularly, I am running into an issue where one of my SUM(IF(CONCATENATE formulas can no longer find data.
Previously, in 2010, I had a formula as follows:
{=SUM(IF(CONCATENATE(B8,C8,D8)=CONCATENATE(ProjectData!A2:A20000,ProjectData!C2:C20000,ProjectData!W2:W20000),ProjectData!T2:T20000))}
This formula would sum a range of numbers if 3 cells matched 3 cells in a range of data.
This no longer works in Office 2016.
Has any syntax changed that might be causing this error? Thanks in advance.
Use SUMIFS()
=SUMIFS(ProjectData!T:T,ProjectData!A:A,B8,ProjectData!C:C,C8,ProjectData!W:W,D8)
Related
Using excel 365. I have used this same formula for "asset allocations" and it worked perfectly.
I decided to do the same for sector allocation and I can not figure out what is wrong. This has beat me down. I have tried for 2 days. I thought that I could just exchange the category for sector. Didn't work. Thank you for any help.
Here is the image which shows the sheet that I am using.
The formula in G6 is:
=SUMPRODUCT(SUMIFS(INDIRECT(K$6:K$11&"[Value]"),INDIRECT(K$6:K$11&"[Sectors]"),[#Sector]))
You can see a REF Error on the column "Value".
This image is to show where the "Sectors" are listed on the individual sheets that I wish to sum.
Unusual, but this is working fine in my test scenario.
Use the Evaluate Formula tool to see where the error creeps in. You may have a typo in the list of tables.
I should have found the answer earlier but I didn't question my table columns.
In my last table the Column was accidentally called "Sector" and it should have been called "Sectors". I needed to pinpoint the point of problem by debugging better.
This code does indeed work fine for anyone wishing to sum by a category from more than one sheet. Not saying it is elegant code but it is easy to understand.
I'm trying to reproduce the sum of the values in column I within one cell, without having to evaluate them for each row individually. For better understanding see the following screenshot:
I've sifted through endless INDEX/INDIRECT/etc. results both here and on Google, but can't seem to figure it out... Basically I want to just sum over the row-wise evaluations of this formula:
=-MAX($B$1-MAX(A$1:A1)+MIN(A$1:A1),0)
Note that the starting row of each evaluation is fixed.
Edit: the solution proposed by Scott works if Excel recognizes the LET() function, which does not seem to be the case for my work laptop even though it has Office 365 Pro Plus, probably this latest insider program is not enabled.
With the dynamic array formula in Office 365:
=LET(seq,SEQUENCE(COUNT(A:A)),rng,OFFSET(A1,0,0,seq),SUMPRODUCT(-(B1-MAXIFS(rng,rng,"<>")+MINIFS(rng,rng,"<>"))*(B1-MAXIFS(rng,rng,"<>")+MINIFS(rng,rng,"<>")>0)))
Well, I tried to make a formula on Excel 2010 in order to get flexible results.
The idea is to count cell written less cells empty, so the formula should be: =CONTAR(C10:C69) - CONTAR.BLANCO(C10:C[VALUE])Where the Value is 8 + the result of CONTAR(C10:C69).
The real formula actually extends more than this, but I got stuck at this step.
That being said, how can I produce the same result using Visual Basic to actualize the list every time excel is modified?
Thanks in advance!
EDIT: thank you for the correction
The best way is to use Index to return a reference to the range from C10 to C[Value]
=COUNT(C10:C69)-COUNTBLANK(C10:INDEX(C:C,8+COUNT(C10:C69)))
(I hope I have got the correct equivalent functions for Contar etc.)
I found this example in an excel tutorial
The following image is my desired result. and the following formula is supposed to be able to extract the unique records dynamically. I know how to do this with VBA but i really want to make this a formula without using a macro.
=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"")
I have tried the above formula as given in the example link above but it returns with error. I am assuming that this worked at some point in excel however it no longer works with Excel 2016. Can someone clarify why this formula no longer works? Thank you.
Answering my own question about 5 minutes later, so i read the patch nodes on the how match changed from excel 2008 to 2016. You need to use the index rather than the count.
=IFERROR(INDEX($B$2:$B$9, MATCH(0,INDEX(COUNTIF($D$1:D1,$B$2:$B$9),0,0),0)),"0)),"")")
Recommended edit to the formula to change the value returned on error to a blank:
=IFERROR(INDEX($B$2:$B$9, MATCH(0,INDEX(COUNTIF($D$1:D1,$B$2:$B$9),0,0),0)),"")
Excel and coding newbie. Getting very frustrated with a very specifc formula which should be simple.Can anybody tell me what wrong with this formula
=IF(W12<50,"U",IF(W12<65, "P",IF(W12<80,"M",IF(W12<101,"D"))))
Its picking up a specific value at cellW12 and supposed to generate a grade in a spreadsheet based on that formula
Should be easy but can't get it to work.
You need to use ";" instead of "," (At least in my version; German version of EXCEL 2006 and 2016).