#excel #vba #sumifs
#excel #vba #sumifs
Вопрос:
это мой первый пост здесь, я застрял с макросом, чтобы найти две текстовые строки, например, Cars и Boats, затем суммирует все между ними в столбце C, промывает и повторяет (цикл для следующего совпадения) на том же листе.
Оригинал.
A B C
CARS 1
ANYTHING 3
ANYTHING 2
BOATS 8
Результат.
A B C
CARS 1 ---> 1
ANYTHING 3 ---> 3
ANYTHING 2 ---> 2
BOATS 8 ---> 8
SUM 14 <--Calculated/sum
TAX 0.035 <--Fixed
TOTAL SUM*TAX <--Calculated
И повторите для следующей пары совпадений, я боролся в течение нескольких дней, используя как записанные макросы, так и общие знания, но, похоже, что-то работает, я надеюсь, что кто-нибудь сможет пролить некоторый свет на мою проблему, я буду глубоко признателен за это.
Комментарии:
1. Не уверен насчет части «промыть и повторить», но вам нужна функция, которая суммирует диапазон между номерами 2 строк — легко. Вам нужна функция, которая определяет, на каких номерах строк находится некоторый текст (возможно, с параметром startSearchFromRow) — довольно просто. Покажите некоторый код, и мы поможем
2. Что ж, я могу показать, как я работал с формулами, я не знаю, как кодировать на vba, ни как к нему подступиться, у меня есть только базовые знания в области программирования.
Ответ №1:
Я не знаю, зачем вам для этого нужен VBA. Простых формул рабочего листа более чем достаточно.
'sum in B5
=SUM(INDEX(B:B, MATCH("cars", A:A, 0)):INDEX(B:B, MATCH("boats", A:A, 0)))
'total in B7
=B5*SUM(1, B6)
Комментарии:
1. Это потому, что я хочу автоматизировать процесс самым простым способом, чтобы другие люди могли его использовать, я уже справлялся с этим с помощью formuls, но я никогда не работал с макросами в Excel.