答案1
通常情况下,Excel 对单元格条目非常宽容,如果这些单元格条目实际上是以文本形式输入的,并且看起来像数字,则将其视为数字。在计算术语中,这有时称为强迫。Excel 非常擅长强制转换。
因此,例如,如果="1"
在调用中输入了A1
并且="2"
在单元格中输入了B1
,那么这两个单元格实际上都包含长度为 1 个字符的文本字符串。通常,文本字符串不能相加。如果A1
包含a
并且B1
包含b
,则公式=A1+B1
会导致#VALUE!
值错误。但是,当在单元格中输入看起来像数字的文本字符串时A1
,B1
Excel 将使用强制将字符串“1”和“2”更改为数字 1 和 2,公式=A1+B1
将显示结果 3 而不是#VALUE!
错误。
但是,强制转换也有其局限性(正如您所发现的)。其中一个限制可能取决于特定设置。例如,我自己的 Excel 版本(Office 365)很容易将以 £ 和 € 符号开头的文本字符串强制转换为数字,但不会将以 $ 符号开头的文本字符串强制转换为数值。事实上,如果我将其$1
作为单元格条目输入,它始终被视为并显示为 2 个字符的文本字符串,并且涉及该单元格的任何算术运算都会导致错误#VALUE!
。
显然,我的 Excel 设置(甚至可能是我的 Windows 设置)中存在某些问题,导致了此行为。可能存在类似问题,导致了您遇到的结果。您可以使用该ISTEXT()
函数检查您报告的任何问题单元格是否被保存为文本。如果单元格被保存为文本,那么强制转换问题就是问题的根源。
答案2
答案3
请注意,单元格中可能只有裸数字,但您可以将其显示为货币;
选择(一个)单元格,然后按住CTRL,点击1并选择显示格式;或者创建您自己的(自定义格式)。
在帮助中查找数字格式以了解您可以做什么,该TEXT()
函数使用相同的格式。(在线;libreoffice 帮助“数字格式代码",可能会有细微差别)