Предположим, у меня есть следующие данныеExcel VBA Индикатор функции для макросъемки
Name Date Notional
Alice 10/1/2006& 1000
Bob 12/5/2011 5000
Dawn 1/1/2010 400
Alice 5/6/2009 500
Alice 7/13/2012 1500
Dawn 4/5/2012 100
Я хочу добавить еще два столбца, Total и процентах. Где Всего сумм Условное значение для одного человека и Процентное отношение к данному Условному в процентах от Total.
Так Алисе три сделки на три даты с тремя notionals 1000, 500 и 1500. Ее Всего было бы 3000 и ее три проценты будет 33%, 16,6% и 50%
Так что мой окончательный результат будет:
Name Date Notional Total Percentage
Alice 10/1/2006 1000 3000 33%
Bob 12/5/2011 5000 5000 100%
Dawn 1/1/2010 400 500 80%
Alice 5/6/2009 500 3000 16.67%
Alice 7/13/2012 1500 3000 50%
Dawn 4/5/2012 100 500 20%
Я надеюсь написать макрос, который добавляет суммирует Условные для каждого указать название совпадает.
Таким образом, моя ячейка D2 будет C2 * Индикатор (A2, A2) + C3 * Индикатор (A3, A2) + C4 * Индикатор (A4, A2) + C5 * Индикатор (A5, A2) + C6 * Индикатор A6 = A2) + C7 * Индикатор (A7 = A2)
Где индикатор (Ak, A2) - это индикаторная функция, которая принимает значение 1, когда Range («Ak»). Значение = диапазон («A2»). Значение и ноль в противном случае.
Есть ли такая функция? Полагаю, я могу создать его сам.
Public Function Indicator(c1 As Range, c2 As Range)
Dim out As Integer
If Range(c1).Value = Range(c2).Value Then
out = 1
Else: out = 0
End If
End Function
Я пытаюсь заставить это работать внутри большего кода. Но сейчас я получаю много ошибок. Я буду обновлять, если я могу заставить его работать.
Можете ли вы использовать сводную таблицу? Я думаю, что это самый простой способ сделать это. – Makah
Вы не можете использовать формулы? 'SUMIF()' будет работать отлично. –
@TimWilliams Спасибо. Сейчас я использую СУММУ. – Amatya