Предположим, у меня есть два столбца в excel, даты как строки, и я хочу создать сводную таблицу с некоторым вычисленным полем. Формула для вычисленного поля - Column1/AVERAGE(Column2)
, в зависимости от выбранной даты.CalculatedField в Excel
Я использую vba. но когда я
pvtTable.CalculatedFields.Add Name:="Test1", Formula:="Column1/AVERAGE(Column2)"
EDIT: AVERAGE
в настоящее время отсчет от суммы значений в колонке 2 (для выбранного диапазона дат), а не отдельные значения.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
.
Спасибо за ответ, но это не поможет. '= 'Столбец 1'/AVERAGE ('Столбец 2')' оценивается с тем же значением, что и '= 'Столбец 1'/'Столбец 2''. Причина объясняется [здесь] (http://www.excelgirl.com/2011/09/how-to-insert-a-calculated-field-in-a-pivot-table/) в правиле № 2. Я считаю, что то, чего я хочу достичь, с этой технологией невозможно. – maialithar
Похоже, вы правы. Вы не можете использовать формулы excel, которые требуют диапазонов в вычисленной полевой опции сводной таблицы. Возможно, powerpivot может сделать трюк, но это отдельная установка, а не то, с чем я знаком. – guitarthrower