2013-10-28 6 views
3

Предположим, у меня есть два столбца в excel, даты как строки, и я хочу создать сводную таблицу с некоторым вычисленным полем. Формула для вычисленного поля - Column1/AVERAGE(Column2), в зависимости от выбранной даты.CalculatedField в Excel

Я использую vba. но когда я

pvtTable.CalculatedFields.Add Name:="Test1", Formula:="Column1/AVERAGE(Column2)" 

AVERAGE в настоящее время отсчет от суммы значений в колонке 2 (для выбранного диапазона дат), а не отдельные значения. EDIT: AVERAGE, по-видимому, игнорируется в формуле вычисленного поля и вместо этого берется сумма.

Можно ли использовать одиночные значения при использовании AVERAGE в формуле вычисленного поля? Я использую Office 2010.

Более подробную информацию

Я пытался сделать это:

With pvtTable 
    With .PivotFields("Column2") 
     .Orientation = xlDataField 
     .Function = xlAverage 
     .NumberFormat = "0.00" 
     .Value = "Avg Column2" 
    End With 
End With 
pvtTable.CalculatedFields.Add Name:="Test2", Formula:="Column1/Avg Column2" 

Но Test2 не отображается в списке поля сводной таблицы в. Когда я хочу отобразить его из vba, я получаю сообщение об ошибке Unable to get the PivotFields property of the PivotTable class.

ответ

0

Вы почти находитесь. В первой попытке вам нужно изменить формулу: = быть фактической формулой. The =, который следует за: не запускает вашу формулу (см. Аргумент name). Это путаный бит синтаксиса. то вам нужны одинарные кавычки вокруг имен столбцов.

Это должно сделать трюк:

ActiveSheet.PivotTables("PivotTable1").CalculatedFields.Add _ 
    "Test1", _ 
    "='Column 1'/AVERAGE('Column 2')", _ 
    True 

Update: это не работает. Вы не можете использовать формулы в вычисленном поле, которое требует ссылок на диапазон.

http://www.ozgrid.com/Excel/pivot-calculated-fields.htm

+0

Спасибо за ответ, но это не поможет. '= 'Столбец 1'/AVERAGE ('Столбец 2')' оценивается с тем же значением, что и '= 'Столбец 1'/'Столбец 2''. Причина объясняется [здесь] (http://www.excelgirl.com/2011/09/how-to-insert-a-calculated-field-in-a-pivot-table/) в правиле № 2. Я считаю, что то, чего я хочу достичь, с этой технологией невозможно. – maialithar

+0

Похоже, вы правы. Вы не можете использовать формулы excel, которые требуют диапазонов в вычисленной полевой опции сводной таблицы. Возможно, powerpivot может сделать трюк, но это отдельная установка, а не то, с чем я знаком. – guitarthrower

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

  • Нет связанных вопросов^_^