числовой формат Excel
-
06-07-2019 - |
Вопрос
я использую 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
теперь у меня есть программа С#, которая будет читать значения этого диапазона... (с диапазоном (...).value2)...затем попытается найти отдельные значения, но С# предполагает, что он читает приведенный выше случай 1,1,1,1...что не соответствует действительности.более того, программа C# теперь будет использовать эти отдельные значения для форматирования ячеек с цветами с помощью оператора равенства, и в этом случае ни одно из значений ячеек не равно 1...
возможно ли в Excel внести это изменение после числового формата,...к реальному значению2 ячейки...но не только внешний вид!потому что когда я спрашиваю, например
MsgBox Range("F8").Value2
он показывает мне 0,5, но поскольку я изменил формат ячейки, я хочу вместо этого видеть 1...Я не хочу округлять значение Range("F8").Value2, поскольку оно будет работать только в конкретном случае.
мой вопрос в том, как можно изменить значения диапазона F8: G9 после числового формата на те, которые числовой формат их изменил????
Спасибо!!!
Решение
Использовать Text
собственность Range
объект для возврата отформатированной версии
напримересли ячейка A1 содержит 0,77458 и отформатирована до одного десятичного знака, то
Range("A1").Value2
= 0,77458 (какDouble
ценить)Range("A1").Text
= 0,8 (какString
ценить)
Другие советы
Форматирование — это всего лишь вопрос представления того, как отображаются данные.Если вы хотите работать с округленными значениями, вам следует округлить фактическое значение либо в Excel с помощью функции округления, либо в .net с помощью Math.Round.