Excel 中的 IFS 函数无法工作

Excel 中的 IFS 函数无法工作

我不确定问题是什么,是语法错误,还是数据错误。

第一列 F 中的数据全部为文本。有些以百万为单位(末尾带有单词“M”),有些以千为单位(末尾带有单词“K”)。

我想将所有内容转换为数字并放入“O”列

首先,我使用 FIND() 比较文本的结尾是“M”还是“K”,然后使用 SUBSTITUTE 删除“M”或“K”,并乘以 1,000,000 或 1,000。然后我将其放入 IFS 函数中。

这些公式似乎适用于包含“M”的文本,但对“K”不起作用。我不明白为什么。我对第一列的公式如下:

`=IFS(FIND("M",F2)>0,SUBSTITUTE(F2,"M","")*1000000,FIND("K",F2)>0,SUBSTITUTE(F2,"K","")*1000)`

请参考截图:

截屏

答案1

如果未找到 M,公式将无法超越错误,您需要捕获错误,如果它们是仅有的两个将显示的值(K 和 M),请使用类似以下内容:

=IFS(ISERROR(FIND("M",F2)),SUBSTITUTE(F2,"K","")*1000,ISERROR(FIND("K",F2)),SUBSTITUTE(F2,"M","")*1000000)

否则,如果 M 或 K 不存在,则接下来的另一个 if 函数返回一个值。

答案2

您必须指定,如果不存在 K 和 M,则单元格必须显示不变的值。

我更喜欢 IF,而不是 IFS。IFS 总是会出现一些棘手的问题。试试

=IF(ISNUMBER(FIND("K",F2)),SUBSTITUTE(F2,"K","")*1000,IF (ISNUMBER(FIND("M",F2)),SUBSTITUTE(F2,"M","")*1000000, F2))

答案3

如果您有支持动态数组的更高版本的 Excel,则可以使用略有不同且(在我看来)更易于管理的方法:

在此处输入图片描述

我添加了额外的列来展示绿色解决方案的进展。

首先,获取比例指标(K 或 M 或其他)。然后使用 XLOOKUP 中的固定数组将其转换为乘数。然后,我们只需获取原始单元格中的数字并将其乘以乘数即可。

这是绿色单元格 E3 中的公式:

=NUMBERVALUE(LEFT($A3:$A6,LEN($A3:$A6)-1))*XLOOKUP(RIGHT($A3:$A6,1),{"M","K"},{1000000,1000})

相关内容