我有一个调查问题,其答案可以是数字或文本字符串:
- 调查问题: “每种产品的使用率”
- 可能的答案:
- # (一个号码)
- “不曾用过”
- “不适用”
- “已使用 - 但不确定百分比”
为此,我需要根据单元格包含文本还是数字来改变公式。
如何调整公式=IFERROR(B2*E2, " ")
,以便当 B 列中有数字时(即我目前在公式中拥有的数字),F 列显示计算结果,但如果单元格包含文本,则返回该文本。因此 F6 将是“不适用”,而 F7 将是“未使用”等。希望下面的屏幕截图能让我的问题更容易理解。
数据截图
- B列包含调查问题的答案;
- E列包含数字或文本字符串;
- F 列包含以下之一:
- B 列和 E 列的乘积,或
- 如果 B 列的值是文本字符串,则为该值,或者
- 如果 B 列不是文本字符串,则为空(空白),并且 B 和 E 的乘积将导致错误
答案1
您的公式很接近。如果E2
始终是数字,只要B2
也是数字,那么只需用 替换" "
您要返回的空格(空白是""
)B2
即可得到您想要的结果:
=IFERROR(B2*E2,B2)
如果它有可能B2
是一个数字,但同时又E2
不是,那么就需要修改公式来解决这个问题。
例如:
=IF(ISNUMBER(B2),
IFERROR(B2*E2,""),
B2)
B2
IF 函数测试数字的条件:
- IF 条件真的,
B2
然后返回和 的乘积E2
,如果乘积会导致错误,则返回 BLANK - IF 条件错误的,
然后返回
B2
还有其他变体可以实现相同目标。
例如:
=IF(ISNUMBER(B2),
IF(ISNUMBER(E2),
B2*E2,""),
B2)
Is B2 a number?
- 真的:
Is E2 a number?
- 真的:
=B2*E2
- 错误的
=""
- 真的:
- 错误的:
=B2
- 真的: