x
• Status: Solved
• Priority: Medium
• Security: Public
• Views: 199

# is there a better formula

the below formula is in a spreadsheet I am working on. Is there a better and shorter way to say this

=IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AF\$3
SUM(MonthlyQuarterly!AF\$4:AF\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AG\$3
SUM(MonthlyQuarterly!AG\$4:AG\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AH\$3
SUM(MonthlyQuarterly!AH\$4:AH\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AI\$3
SUM(MonthlyQuarterly!AI\$4:AI\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AJ\$3
SUM(MonthlyQuarterly!AJ\$4:AJ\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AK\$3
SUM(MonthlyQuarterly!AK\$4:AK\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AL\$3
SUM(MonthlyQuarterly!AL\$4:AL\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AM\$3
SUM(MonthlyQuarterly!AM\$4:AM\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AN\$3
SUM(MonthlyQuarterly!AN\$4:AN\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AO\$3
SUM(MonthlyQuarterly!AO\$4:AO\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AP\$3
SUM(MonthlyQuarterly!AP\$4:AP\$32)
IF(MonthlyQuarterly!\$S\$1=MonthlyQuarterly!AQ\$3
SUM(MonthlyQuarterly!AQ\$4:AQ\$32)
0))))))))))))
0
Jagwarman
• 4
• 2
2 Solutions

Finance AnalystCommented:
I suspect you can use the OFFSET function with that, give me a few minutes and I will formulate.
0

Director, Practice Manager and Computing ConsultantCommented:
If you have in AF2

=SUM(AF4:AF32)

and copy that across to AQ2, then you can have

=SUMIF(MonthlyQuarterly!AF3:AQ3,MonthlyQuarterly!\$S\$1,MonthlyQuarterly!AF2:AQ2)
0

Finance AnalystCommented:
=SUM(OFFSET(MonthlyQuarterly!\$AE\$4,0,MATCH(MonthlyQuarterly!\$S\$1,MonthlyQuarterly!\$AF\$3:\$AQ\$3,0),29,1))

This works for the existing range, if the data extends beyond row 32 then you will have to adjust the 29 accordingly. Alternatively if there is no data below the range being summed until it expands downwards, adjust the 29 to a number that is more than adequate to cover future expansion.

Thanks
Rob H
0

Finance AnalystCommented:
I have made a couple of assumptions in the answer. Values in S1 and range AF3:AQ3 are dates and they are true numerical dates rather than text. Assumption based on the sheet being called "MonthlyQuarterly" and there being 12 columns to which the formula is referring.

If that is in fact an incorrect assumption and the header and comparison values are text, you can use the following DSUM formula:

=DSUM(MonthlyQuarterly!\$AF\$3:\$AQ\$32,MonthlyQuarterly!\$S\$1,MonthlyQuarterly!\$S\$1:\$S\$2)

The only addition to the known cell references which you have given would be the entry of "<>0" in cell S2, or just making sure it is blank would work.

In addition, if this formula is going on the "MonthlyQuarterly" sheet, you don't need the sheet references in the formula.

If you need explanation of either the DSUM or OFFSET functions, please let me know.

Thanks
Rob H
0

Author Commented:
Rob

the formula =DSUM(MonthlyQuarterly!\$AF\$3:\$AQ\$32,MonthlyQuarterly!\$S\$1,MonthlyQuarterly!\$S\$1:\$S\$2)

Returns #VALUE

the formula =SUM(OFFSET(MonthlyQuarterly!\$AE\$4,0,MATCH(MonthlyQuarterly!\$S\$1,MonthlyQuarterly!\$AF\$3:\$AQ\$3,0),29,1))

Returns #N/A
0

Finance AnalystCommented:
DSUM will only work if the date values are text, it won't work with true dates.

The only way that I can think that the SUM(OFFSET()) would generate an #N/A error is if the value in S1 cannot be matched in the row of values AF3:AQ3. I assumed that the dates would be an exact match. To check copy this part of the formula into a separate cell and see what result it gives:

=MATCH(MonthlyQuarterly!\$S\$1,MonthlyQuarterly!\$AF\$3:\$AQ\$3,0)

See attached with both examples.

Thanks
Rob H
DSUM-and-SUM-OFFSET.xlsx
0

Author Commented:
Thanks for the assistance
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

## Featured Post

• 4
• 2
Tackle projects and never again get stuck behind a technical roadblock.