как суммировать значения в столбце B после поиска test1-test4 в столбце A - PullRequest
2 голосов
/ 18 февраля 2012

Мне было интересно, если кто-нибудь хотел бы поделиться со мной, как вы делаете сумму столбца B после поиска определенного имени в столбце A?Скажем, например, я хочу суммировать test1 в test4.Тогда сумма будет помещена в «B1», где «In» находится рядом с ней, кстати, «In» не обязательно должно быть в «B1».Я добавил на рисунке, чтобы облегчить путаницу.

enter image description here

Я попытался сделать кодирование:моя проблема!Большое вам спасибо!

Ответы [ 2 ]

2 голосов
/ 18 февраля 2012

Простым способом была бы формула в B1
=SUM(COUNTIF(A:A, {"Test1","Test2","Test3","Test4"}))

, которую можно сделать в VBA с помощью

Sub Test()
Sheets(1).[b1] = Evaluate("SUM(COUNTIF(A:A, {""Test1"",""Test2"",""Test3"",""Test4""}))")
End Sub

Обновлено для уточненного намерения

Sub Test()
Sheets(1).[b1].Value = Evaluate("SUM(SUMIF(A2:A10, {""Test1"",""Test2"",""Test3"",""Test4""},B2:B10))")
End Sub
1 голос
/ 18 февраля 2012

Привет, я думаю, вы неправильно поняли мой вопрос.Я хочу добавить значения test1 - test4 вместе, что означает, что я хочу добавить значения в столбце B, у меня должно быть 10 в B1.Код, который вы указали, фактически суммирует test1-test4 в столбце A, а не значение в столбце B. - user1204868

Это делает нас двоих LOL.

Попробуйте это

=SUMPRODUCT((A1:A10={"Test1","Test2","Test3","Test4"})*(B1:B10))

СЛЕДУЙТЕ ВВЕРХ

Поместите эту формулу в C1

Если вы хотите использовать ее в B1затем измените его на

=SUMPRODUCT((A2:A10={"Test1","Test2","Test3","Test4"})*(B2:B10))

Код VBA

Sub Sample()
    Sheets(1).[b1] = Evaluate("SUMPRODUCT((A2:A10={""Test1"",""Test2"",""Test3"",""Test4""})*(B2:B10))")
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...