圆形Excel公式

时间:2013-12-10 20:40:22

标签: excel excel-formula

我需要创建一个excel电子表格,在表格的两列中的一列中接受用户输入。无论哪个列没有手动输入,都需要计算其值。举例说明:

enter image description here

在这张图中,三列之间存在关系。总价=(价格/单位)*(单位数)。

我的电子表格的用户将执行以下两项操作之一:

  1. 他们将手动输入“价格/单位”的值。如果发生这种情况,需要计算“总价”(价格/单位*单位数)。
  2. 他们将手动输入“总价格”的值。如果发生这种情况,“价格/单位”需要计算(总价/单位数)。
  3. 是否有可以启用此功能的公式?也许是“If-C1-is-a-formula”功能?我认为这是不可能的。

    编辑:宏对我来说是不行的。很抱歉没有提及它。我将使用Apache POI通过Java开发它,doesn't allow for the creation of macros

1 个答案:

答案 0 :(得分:3)

如果宏不是一个选项,那么你需要稍微不同的设置,如下所示:

tigeravatar non-circular method

在左侧,是用户将填写的内容。他们将输入Unit CountPrice,然后在C列中,他们将选择Price Type,这是一个验证丢弃-down列表指向$F$1:$G$1(价格/单位,总价格)。一旦他们选择了价格类型,表格将通过使用公式自动填充。

在单元格E2中并向下复制(单位计数):

=IF(A2="","",A2)

在单元格F2中并向下复制(价格/单位):

=IF(COUNTBLANK(A2:C2)>0,"",IF(C2=F$1,B2,B2/A2))

在单元格G2中并向下复制(总价格):

=IF(COUNTBLANK(A2:C2)>0,"",IF(C2=G$1,B2,B2*A2))

然后,您可以将列F和G格式化为所需(在这种情况下,您可能将它们格式化为货币或会计)。

我还应该提到结果表可以在不同的表上,您只需要为数据验证下拉列表使用命名范围(或者如果它只有两个选项则硬编码)。