我需要创建一个excel电子表格,在表格的两列中的一列中接受用户输入。无论哪个列没有手动输入,都需要计算其值。举例说明:
在这张图中,三列之间存在关系。总价=(价格/单位)*(单位数)。
我的电子表格的用户将执行以下两项操作之一:
是否有可以启用此功能的公式?也许是“If-C1-is-a-formula”功能?我认为这是不可能的。
编辑:宏对我来说是不行的。很抱歉没有提及它。我将使用Apache POI通过Java开发它,doesn't allow for the creation of macros。答案 0 :(得分:3)
如果宏不是一个选项,那么你需要稍微不同的设置,如下所示:
在左侧,是用户将填写的内容。他们将输入Unit Count
和Price
,然后在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格式化为所需(在这种情况下,您可能将它们格式化为货币或会计)。
我还应该提到结果表可以在不同的表上,您只需要为数据验证下拉列表使用命名范围(或者如果它只有两个选项则硬编码)。