2016-06-08 2 views
0

Я хочу, чтобы петля моего AVERAGEIFS в VBA:VBA AVERAGEIFS

1a

i = 1 To 12 

Sheet5.Cells(i + 1, 10) = WorksheetFunction.AverageIfs(Sheet5.Range("B:B"), Sheet5.Range("Z:Z"), ????, Sheet5.Range("AA:AA"), "=2015") 

Next i 

Так Для ???? Я ищу код, который перебирает от 1 до 12, я уже много пробовал и много работал в Интернете.

Спасибо за помощь.


Может быть, это проясняет мою проблему:

1b

пс: сначала я искал код, который взял в среднем за месяц а и год, я уже подразделены даты в месяцы и лет, и теперь я беру среднее значение за месяц в течение определенного года (например, февраль 2016 года).

10/10/2015 ----- 13 

11/10/2015 ----- 9 

01/01/2016 ----- 2 

31/01/2016 ----- 3 

31/02/2016 ----- 4 

Итак, в этом примере, если я хочу в среднем за январь 2016 года, это должно быть 2,5. И я хочу сделать код, который петли с 01/2015 до 12/2020 и помещает среднее значение в каждую ячейку.

+0

Вы можете сделать это с помощью формулы, а затем просто использовать row() или rows(), чтобы получить номер, например, sheet5.range («Z: Z»), row (z1) или просто использовать i –

ответ

0

Вы можете использовать строки() или rows(), чтобы получить номер примерно как sheet5.range("Z:Z"),row(z1) или просто использовать i, вам также понадобится использовать месяц, если вы сравниваете даты, так что month(z:z),i Это также можно сделать со статическими формула

+0

Можете ли вы очистить ваш ответ, я не специалист в VBA. У вас нет формулы, которую я могу разместить на ** ???? **. – user5424264

+0

Просто используйте I, так как это происходит от 1 до 12. Я также поставил месяц (z: z), я в своем ответе –

+0

Но когда я использую только i, я получаю сообщение об ошибке. Невозможно получить свойство AverageIfs Класс рабочей таблицы " – user5424264

Смежные вопросы