Avatar of hermesalpha
hermesalpha
Flag for Paraguay asked on

How do I use a SUMIF function when the cells to add together are not adjacent to each other?

I want to use this formula:

=IFERROR(SUMIF(Q12:Q18;Q24:Q30;Q37;(AND(P32="*volt*");P37="*volt*");(SUM(Q12:Q18;Q24:Q30);"")))

But I think I need to change the range after SUMIF. What I want is that sum everything in Q12:18 and Q24:Q30 and Q37 if both P32 and P37 contains the text "volt" (must be in both P32 and P37). Otherwise sum only Q12:Q18 and Q24:Q30.

If I need to change my formula, how should I change it?
Microsoft OfficeMicrosoft ExcelSpreadsheets

Avatar of undefined
Last Comment
hermesalpha

8/22/2022 - Mon
Shums Faruk

Hi,
SumIF is used only when you have cell range filled with "volt" and you want the total of "volt" from other column/columns. In your case, IF AND SUM would be helpful.
Try below:

=IF(AND(P32="volt",P37="volt"),(SUM(Q12:Q18)+SUM(Q24:Q30)+Q37),SUM(Q12:Q18)+SUM(Q24:Q30))
Rgonzo1971

Hi,

pls try
=IF(AND(P32="volt",P37="volt",Q37)+SUM(Q12:Q18,Q24:Q30)

Open in new window

Regards
Hamed Nasr

Try:
=IF(AND(P32="volt",P37="volt"),SUM(Q12:Q18;Q24:Q30;Q37),SUM(Q12:Q18;Q24:Q30))
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
hermesalpha

ASKER
I tried your formulas now, but I get a blank cell for both. By the way, I need "*volt*" (not exactly "volt" but "*volt*" and can/will contain other words also.
Shums Faruk

Then try below formula:
=IF(AND(COUNTIF(P32,"*"&"volt"&"*"),COUNTIF(P37,"*"&"volt"&"*")),SUM(Q12:Q18:Q24:Q30:Q37),SUM(Q12:Q18:Q24:Q30))
SOLUTION
byundt

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
ASKER CERTIFIED SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Rgonzo1971

then try
=IF(COUNTIF(P32,"*volt*")*COUNTIF(P37,"*volt*"),Q37)+SUM(Q12:Q18,Q24:Q30)

Open in new window

Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
hermesalpha

ASKER
Shums, I tried your formula now but get a circular reference warning.

Byundt, then I tried your formula, and it works! Only when both P32 and P37 contains "volt" then it includes Q37 in the calculation.
But something strange happens: In a drop-down I have in M4 ("volt" and "auto"), when I change selection here from "volt" to "auto", then the formula in Q35 gets deleted and replaced with the calculated static value.

hnasr, your formula also works fine! But the same strange thing happens as I noted for Byundt.

Rgonzo1971, I could not get your formula to work; nothing happens when both P32 and P37 contains "volt" and I select a value in Q37.

So both Byundt's and hnasr's formulas works fine. The problem remains why the formula gets replaced by the value when changing from "volt" to "auto" in the drop-down in M4.
byundt

If the formula is getting changed, then you probably have a VBA event macro running. Are you able to post the workbook?
hermesalpha

ASKER
I have this sub in the middle of a lot of other subs:

End Sub

Private Sub Worksheet_Calculate()
    Dim i As Integer
    On Error GoTo ErrorOut
    Application.EnableEvents = False
    For i = 1 To 8
        If KeepValue(i) <> Cells(34, i + 16) And Cells(35, i + 16).HasFormula = True Then
            Cells(35, i + 16) = Cells(34, i + 16)
        End If
        KeepValue(i) = Cells(34, i + 16)
    Next i
ErrorOut:
    Application.EnableEvents = True
End Sub

But the sub doesn't work as intended: instead of keeping the formula in Q35:Y35 it keeps the value.
Your help has saved me hundreds of hours of internet surfing.
fblack61
byundt

The following statement is overwriting your formula in row 35:
          Cells(35, i + 16) = Cells(34, i + 16)

Open in new window

If you want to keep the formula in row 35, and copy the value from it into row 34, you might use:
          Cells(34, i + 16).Value = Cells(35, i + 16).Value

Open in new window

If rows 34 and 35 have formulas and you want to keep them both, then you would just delete the statement altogether.
hermesalpha

ASKER
Both row 35 and 34 have separate formulas different from each other that should be kept, but the idea with this VBA is that on row 35, I might choose to manually enter a value instead of the formula calculated value, and in case I thereafter choose to revert to the formula calculated value and hit Delete, then the old formula should be restored to this cell. This worked fine with this VBA earlier, but not now.
byundt

Both row 35 and 34 have separate formulas different from each other that should be kept,
If you can't copy a formula from one row (or column) to another, those formulas need to be hard-coded in the VBA.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
hermesalpha

ASKER
I can copy a formula from one row to another, but the problem is that when I select another option in that drop-down menu in cell M4, then the formula on row 35 gets replaced by the resulting value only.
SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Hamed Nasr

then the formula on row 35 gets replaced by the resulting value only
Please demonstrate the issue by uploading a working spreadsheet.
hermesalpha

ASKER
Thanks byndt, that worked, the formula stays in place now. Only that I can not delete it like before and it stays in place, but that is another posting I need to do later.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck