【问题标题】:Retain comma in returned value from t() function in Excel在 Excel 中的 t() 函数的返回值中保留逗号
【发布时间】:2015-03-11 02:12:14
【问题描述】:

我们允许用户以 CSV 格式从 Oracle 数据库中导出数据,该数据库在 Excel 中的新窗口中打开。 为了保留数据库中的数据,每一列都使用=t() 函数将文本保留为文本。 但是....一些数据字段中有逗号。所以我们有一个列:
=t("12345,67890")
您最终会在 Excel 中得到 2 列,而不是在其中包含整个字符串的一列。 关于如何保留使用 t() 函数并停止将数据分成两列的任何建议?

【问题讨论】:

  • 可能有助于添加有关用于创建 CSV 的确切过程的一些细节
  • 我有点困惑。如何在单个单元格中使用公式生成的两列中的值?
  • 如果我们只讨论=T()函数而不涉及任何宏,那么函数不可能将数据分成2列。我认为您需要提供有关您的案例的更多信息。
  • 抱歉以上内容不清楚。
  • =t("12345,67890") 是从数据库生成的,所以可以自动显示一个excel电子表格。数据库中的数据包括逗号,这确实是问题的症结所在,但客户坚持在某些情况下需要这些逗号。由于字段可以以数字开头,但应被视为字符字段,我们添加了 t() 函数调用来保护数据的内容。删除 t() 调用意味着当在 Excel 中打开 CSV 时,数据会显示在一个单元格中,但如果前导字符为零,则存在丢失前导字符的风险。

标签: excel excel-formula


【解决方案1】:

最简单的解决方案是更改您的输出,以使用 '(单撇号)而不是 T() 作为所有文本值的前缀,并将 Oracle DB 输出到 TAB 的分隔符更改。 ' 与 T() 函数的作用相同(强制 Excel 将单元格值解析为字符串),但看起来更优雅一些。您必须更改分隔符,因为它不能包含在数据中,因为 Excel 无法区分它们。更改输出后,只需将文件作为分隔文本文件打开并选择 TAB 作为分隔符即可。希望这会有所帮助。

【讨论】:

  • 感谢您的建议。这在某些情况下会起作用,但我们无法更改分隔符。处理的想法是我们创建一个 Excel 可以自动打开和格式化的 CSV 文件。不幸的是,用户不会经历保存文件然后在 Excel 中打开的过程。
  • 做一些进一步的研究,我发现这个问题在另一个堆栈问题上得到了回答:stackoverflow.com/questions/769621/… 显然你可以通过使用双引号来转义 CSV 中的逗号。参考了可能有用的 CSV 规格表。干杯,
  • 干杯...找到了一些想法来解决这个问题。
猜你喜欢
  • 2020-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
  • 2023-03-16
  • 2012-02-11
  • 1970-01-01
相关资源
最近更新 更多