我遇到#NAME错误?在Excel 2016中打开CSV文件时

时间:2018-11-21 10:50:55

标签: excel excel-formula

我在Excel中遇到问题。

当我在Excel 2016中打开CSV文件时,出现#NAME?错误

在转换CSV文件之前,我使用的公式是:

=concatenate("+",substitute("A2"," ","+"))

和输出我正在以+ab+c的形式获取XLSX文件

其中A2的值为ab c

但是当我将同一文件转换为CSV并重新打开文件时,输出将更改并显示为#NAME?

请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我在评论部分与OP交流的摘要。

我基本上看到了三种解决方案(尽管第三个解决方案不符合OP的标准,但是为了完整起见,我添加了这些解决方案):

  1. 不要“打开” CSV文件,而要导入(在现有或新工作簿中):Data > Get External Data > From Text,然后执行导入步骤(选择定​​界符,该定界符将为,您的案例),然后必须将所有列定义为TEXT(这是最重要的步骤,请参见下面的屏幕截图)。这是100%可靠的解决方案。
  2. 您可以使用另一个CSV查看器(而不是使用Excel)(从OP中了解到,同事在发送文件之前需要检查文件)。对于不允许使用其他工具的大型组织,或者同事不合作,这当然是不可行的。
  3. 一个人可以修改公式,以便输出变为="+ab+c"。将其保存为CSV并再次导入Excel时,它将仅在屏幕上显示+ab+c。但是对于OP,CSV文件中的文本必须仅为+ab+c,因此将不起作用。

最后一点,我无法(使用Excel 2013 for Windows 10)复制OP观察到的行为。打开文件时,CSV文件中的+ab+c从来没有给我带来#NAME?错误;但是,一旦我在该单元格中单击 ,Excel便不会让我ENTER,除非我添加了一个'来表明它是文本。但我仍然可以ESC,不理会该单元格)。

我没有做任何详尽的测试,但是我观察到以下内容:

  • 如果文本以=开头,则总是会出现错误(除非后面是双引号"..."的文本字符串);
  • 如果以+-开头,则还必须有另一个运算符和数字。因此+ab+3给出了错误,但+b1+a没有给出。

因此,Excel的行为在各个版本之间可能有所不同,或者任何其他设置都会对此产生影响。

这里仅作说明,此处是“文本导入向导”(您可以在{{1}下找到)的屏幕快照。在最后一步中(实际上,您仍然需要在下一步中定义必须将Excel放置在何处)。文本,无论是在新工作表中,还是在现有工作表中),您都必须选择所有列(带有shift或ctrl),然后选择Data > Get External Data > From Text作为Text

enter image description here