我是一名承包商,使用 Excel 为我们的工作创建预算,其中包括一份主预算表和另一份提交给客户的预算表。
在主预算表上,我要么有一个完成所述工作的数字成本,要么有一个文本值,表示TBD
或NIC
或By Owner
取决于具体项目。
我正在尝试编写一个公式,该公式将转到封面,检索美元金额或键入的文本。如果有一个数值,我想将所述数字加上 10%。
所以现在我的公式是这样的;
=(Cover!D17 *10%)+Cover!D17)
但是如果我在主页上写了一个单词,公式就会显示为错误。
如何让此公式通过单元格中的计算或文本进行响应?
答案1
您可以使用 ISNUMBER() 测试某个值以查看它是否为数字。并且,您可以使用 IF() 函数根据 ISNUMBER() 的结果执行不同的操作。在一个简单的工作表中,如果 A1 中有一个数字或文本,并且只有当 A1 是数字时您才希望将 A1 乘以 10%,则公式将如下所示:
=IF(ISNUMBER(A1), A1*10%, "False")
您可以对错误条件做任何您想做的事情。我只是让它在单元格中写入“False”,但大多数表达式都可以放在那里。
ISNUMBER() 返回布尔值,要么是 true,要么是 false。IF() 函数的第一步需要一些可以产生布尔值的东西。如果测试结果为 true,则 IF() 执行第一个逗号后面的操作。如果测试结果为 false,则 IF() 执行第二个逗号后面的操作。它的工作方式通常如下所示:
IF(logical_test, [value_if_true], [value_if_false])
但是,您通常想要的不是值,而是某种形式的表达式。
答案2
该IF
语句让 Excel 检查逻辑条件(TRUE 或 FALSE)。
如果(某事为真,则执行某事,否则执行其他事)
该ISNUMBER
函数检查单元格的内容以查看其值是否为数字(TRUE 或 FALSE)。
您的公式将如下所示;
=IF(ISNUMBER(Cover!D17), SUM(Cover!D17+(Cover!D17*0.1)), Cover!D17)
正在IF
检查语句的返回值。如果为真,则使用公式ISNUMBER
返回的值加上 10% 。如果返回假,则返回的值。Cover!D17
SUM(Cover!D17+(Cover!D17*0.1))
ISNUMBER
Cover!D17
注意:如果Cover!D17
格式化为文本,则此方法无效。