首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Excel中将“会计”格式的数字转换为文本

在Excel中将“会计”格式的数字转换为文本
EN

Stack Overflow用户
提问于 2014-02-19 21:20:18
回答 3查看 6.1K关注 0票数 0

这是交易。我正在使用一个基于代码的高级过滤器来进行数据库搜索。标准(由代码生成)将所有数据作为文本处理,并将*附加到输入的任何内容的前端和后端,以便于部分查找。

我的一个字段(只有一个字段位于数据中间,否则无法区分)被格式化为“会计”。我想把它格式化为文本,这样它就可以查询.但是,当我使用TEXT()函数尝试并格式化它时(就像我需要将数字存储为文本的任何其他情况一样),它不会接受“计帐”作为预置内容之一。此外,如果我试图从Excel自己的自定义格式表单复制粘贴该格式,例如:_(* #,##0.00_);_(* (#,##0.00);_(*“-”?);(@_),则单元格中会出现#值错误。

通过有选择地修剪该格式字符串,我已经到了它不再出现错误的地方,但是不能获得列中的数字来对齐小数点(这是会计格式的点)。

请帮帮忙。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-19 21:55:36

您会得到#VALUE错误,因为格式字符串中包含双引号。如果您使用

代码语言:javascript
运行
复制
=TEXT(B2,"_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)")

使用双引号转义(通过加倍),您将不会得到错误。但你不会得到想要的结果。在数字格式和文本函数将产生什么之间有一些细微的差别。我不知道他们都是什么,但这是一个。

您可以选择编写自己的函数。此函数将将会计格式的数字转换为字符串,并保留货币符号和第一个数字之间的空白。

代码语言:javascript
运行
复制
Public Function GetRealText(Cell As Range) As String

    Application.Volatile
    GetRealText = Cell.Cells(1).Text

End Function

不过,还是有个陷阱。如果调整列的大小,则Range.Text属性将更改,但此函数不会自动更新。即使是不稳定的,列宽度的变化也不会触发重新计算。您必须手动重新计算,否则就必须触发它。

票数 2
EN

Stack Overflow用户

发布于 2014-02-19 22:02:39

您可以使用'前缀将数字、日期或任何值作为文本:

代码语言:javascript
运行
复制
Cells(1, 1) = "'" & MyNumber
票数 0
EN

Stack Overflow用户

发布于 2021-04-12 18:20:16

将公式乘以1,然后包含公式的格式单元格作为会计

代码语言:javascript
运行
复制
Cell A1 =5000
=TEXT(A1,"$#,##0.00") gives you currency.
=TEXT(A1,"$#,##0.00")*1 now it's back to a number and displays as your cell format. Format as Accounting
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21892669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档