首页 文章

excel numberformat

提问于
浏览
2

我正在使用excel 2007 ...我有以下范围......

D    E       G   H
  5   1    2       1   1
  6   2    2       1   1

现在我选择范围F8:G9并写下面的公式“= D5:E6 * 0.2 G5:H6 * 0.3”并按下CTRL SHIFT ENTER ...即添加矩阵,...现在我有以下结果

F    G
  8   0.5  0.7
  9   0.7  0.7

现在我选择这个结果范围并将其单元格格式更改为数字格式为0位小数的数字....现在我有以下结果

F  G
 8   1  1
 9   1  1

现在我有c#程序将读取此范围值...(使用范围(...) . value2)...然后将尝试查找不同的值,但c#假定它读取上述情况1,1, 1,1 ......这在现实中是不正确的 . 此外,c#程序现在将使用这些不同的值通过使用equals运算符来格式化具有颜色的单元格,在这种情况下,单元格值都不等于1 ...

在excel中有可能在numberformat之后进行更改,...到单元格的实际值2 ...但不仅仅是外观!因为我问的时候

MsgBox Range("F8").Value2

它显示我0.5,但由于我已经改变了单元格格式,我想看到1而不是...我不想舍入Range(“F8”)的值 . 值2,因为它只适用于特定情况 .

我的问题是如何在numberformat之后将F8:G9范围的值更改为numberformat更改它们的值?

谢谢!!!

2 回答

  • 1

    使用 Range 对象的 Text 属性返回格式化版本

    例如如果单元格A1包含0.77458并且格式化为一个小数位

    • Range("A1").Value2 = 0.77458(作为 Double 值)

    • Range("A1").Text = 0.8(作为 String 值)

  • 0

    格式化只是关于数据显示方式的演示问题 . 如果要使用舍入值,则应使用舍入函数在Excel中或使用Math.Round在.net中舍入实际值 .

相关问题