1

我有以下 Excel 电子表格:

在此处输入图像描述

C 列中,您可以salesB 列products中看到。在A 列中,您可以找到与B 列中的每个相对应的内容。brandproducts

基于这些数据,我创建了以下数据透视表:

在此处输入图像描述


在我的数据透视表中,我创建了一个使用以下公式调用的计算字段:sales per day

在此处输入图像描述

这给了我所需的结果,但正如您所见,我将天数 (在本例中为 360)作为固定数字输入到计算字段的函数中。

但是,我不希望将此数字作为固定速率输入,并使其在我的数据透视表中具有灵活性,以便用户更改单元格 F1中的数字database,它会自动正确应用于数据透视表。

你知道我该如何解决这个问题吗?
有没有我可以使用的辅助列?

抱歉,只有德语版的数据透视表描述可用。

4

1 回答 1

0

在此处输入图像描述

将此代码放入工作表的私有代码表(右键单击,查看代码)而不是公共模块代码表。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub

    If Target.Address = "$F$1" And CBool(Len(Target.Value2)) Then
        On Error GoTo safe_exit
        Application.EnableEvents = False
        If IsNumeric(Target.Value2) Then
Debug.Print Target.Address
            Me.PivotTables("PivotTable1"). _
               CalculatedFields("sales per day").StandardFormula = _
               "=sales/" & Target.Value2
        End If
    End If

safe_exit:
    Application.EnableEvents = True

End Sub

您可能需要调整一些识别名称。现在,每当您在 F1 中键入一个新数值时,数据透视表的计算“每天销售额”字段都会有一个新公式。

在此处输入图像描述

于 2018-06-12T10:59:23.653 回答