Quantcast
Channel: Hot Weekly Questions - Web Applications Stack Exchange
Viewing all articles
Browse latest Browse all 9782

How to SumIFS combining criteria across 2 arrays

$
0
0

to start off, here’s my sheet:

https://docs.google.com/spreadsheets/d/1HxkktT0YNUfai7V3SvFjA1ZfRstwZMrCMTNO_rryQjg/edit

Here’s my scenario:

I’m assigning accounts to new account owners. This means the new account owner shouldn’t get credit/be held responsible for any revenue within a certain time period of the account transition, as it should stay the responsibility of the prior owner.

I’m solving for this revenue ownership period using a “holdover end date” for each account.

Each account will have a “holdover date”, after which all credit/responsibility for the account will be assigned to the “new account owner”.

To do this in sheets/excel, I’m stuck using data from one array (the account assignments and handover dates) to filter/sum data from the primary source - a different sized array.

The source opportunity data is a raw CRM export and doesn’t include go-forward assignments or holdover dates. Those are managed separately.

You can see these arrays as array 1 and 2 on my sheet.

To show what I’m hoping can be accomplished, I’ve created an imagined 3rd Array to combine the data sets and demonstrate how the “new owner” assignments and “holdover end dates” should apply to the source data. I do not want this 3rd array to be created or viewed by anyone in the final sheet, it’s just to show how I’d like the data to be married within the formula.

My goal is to find the sum of “previous ARR” for a specific person, based on logic outlined below.

I cannot use helper columns, cannot do a manual combination of the data sets (as in the 3rd array example) — it all has to be done formulaically, in one go.

Here is the logic:

Sum of [Previous ARR] for “John Smith”if(  Account name in array 1 matches account name in array 2 where [new owner] = John Smith  if(    [new owner] <> [account owner], and    [type] = “Renewal”, and    [opp stage] <> “Closed Won”, and    [opp stage] <> “Closed Lost”, and    [opp stage] <> “Closed Archived”, and    [start date] > 01/01/2022, and    [start date] > [holdover end date] <— (this is account specific and based on the 2nd array)  else if(    [new owner] = [account owner] (I.e. no change in ownership), and    [type] = “Renewal”, and    [opp stage] <> “Closed Won”, and    [opp stage] <> “Closed Lost”, and    [opp stage] <> “Closed Archived”, and    [start date] > 01/01/2022

I’ve tried using filter, index/match with an array, have tried countif to set a >0 condition that would show if the account name is present in array #2 and assigned to the new owner, but nothing works so far. Maybe something with sumproduct would work, but I’m now very familiar with that function and can’t seem to crack it.

Any help is greatly (greatly) appreciated!!

Glad to answer additional questions if it helps anyone.

Thanks for taking a look!

Edit:

I’m able to get a count of “renewal” type opportunities for accounts where John Smith = new owner, using the below. However, a Sum of the PreviousARR using this approach (Sumifs) isn’t working:

=ArrayFormula(CountIFS([Account Name], Filter([AssignedAccountName], [New Owner]=“John Smith”), [OpportunityType], “Renewal”))

I’d also need to have another ArrayFormula in there for the logic around holdover end date, but I think there’s likely a way to consolidate the formula…


Viewing all articles
Browse latest Browse all 9782

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>