我不确定问题是什么,是语法错误,还是数据错误。
第一列 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))