从剪贴板粘贴到 Excel(纯文本):我可以将某些单元格格式化为“这样”吗

从剪贴板粘贴到 Excel(纯文本):我可以将某些单元格格式化为“这样”吗

当将表格数据准备为文本以通过剪贴板复制到 Excel 时,是否可以取消某些单元格的格式化?(如果可能的话,无需更改 Excel 设置或进行特殊粘贴)。

在一个简单的标准情况下,我有一行“列标题”(文本),其余行包含数字数据

foo bar asdf
1   2   3

现在,问题是有时我收到包含日期内容的标题,而 Excel 决定将其格式化为日期(有时为数字)。我希望 Excel 不对这些内容进行格式化

手动将文本输入单元格时,我可以通过在该单元格内容前添加单引号 (') 来实现。但如果我将以下内容复制到剪贴板并粘贴:

foo '1  asdf
1   2   3

然后屏幕上就会出现“1”。我不确定是否有解决方案,但如果有人有办法,那就太好了 =)

我为什么要问这个问题:我的情况是我有一个程序,可以将表格数据(作为文本)复制到剪贴板(转换为 Excel)。

编辑:一些澄清:

  • 我想做一些事情让第一行的单元格不被格式化
    • 也澄清了实际问题
  • 最佳情况是,最终用户进行粘贴时不需要进行任何特殊的粘贴
    • 我不确定这是否可能,如果是这种情况,我应该找到某种以更自定义的方式导出数据,但这是属于 stackoverflow.com 的另一个故事。

br,Touko

答案1

将表格复制到剪贴板后,您可以使用 Excel 2007/2010 中粘贴菜单下的文本导入向导。如果您使用的是 Office 2003 或更早版本,则可以从外部文本文件导入表格,有关详细信息,请参阅本文

在文本导入向导的第 3 步,您可以选择指定列数据格式。选择要更改的列并选择适当的格式。

在此处输入图片描述

答案2

将标题行的数字格式设置为文本粘贴数据之前。右键单击行 >格式化单元格>数字> 选择文本。无论您粘贴到单元格中的任何值都将转换为字符串。

现在,如果您需要使用标题进行计算,请使用公式VALUE

例子:

  • 如果粘贴12/23/2011在单元格中 B1,即使您随后更改其数字格式,它仍将显示为“12/23/2011”。

    该公式VALUE(B1)将返回 2011 年 12 月 23 日的实际日期值(十进制为 40900)。

  • 如果粘贴234在单元格中B1,即使您随后更改其数字格式,它仍会显示为“234”。

    公式 VALUE(B1) 将返回小数 234。

答案3

我刚才问的时候发现了这一点同样的问题!

您需要使用公式=TEXT(<val>,"#"),其中<val>第一个参数是取任意值,第二个参数是文本的格式。在我的例子中,所有数字都是"#"这样,所以使用公式即可,所以您的结果可能会有所不同。这是一个老问题,但就我个人而言,我很高兴我解决了这个问题,所以我想分享一下,以防其他人遇到同样的情况!

相关内容