4

Когда я ввожу число, например 8230e12, в ячейку Microsoft Excel 2000, Excel изменяет число, которое я ввел, в 8230000000000000. (Это то, что я получаю, когда нажимаю F2, чтобы редактировать содержимое ячейки, а не то, что Excel отображает в ячейке). Как я могу заставить Excel сохранять данные в том формате, в котором я их напечатал, и при этом иметь возможность форматировать их и использовать в качестве числа? Отображение ячейки в научной записи недостаточно, потому что показатель не совпадает с показанным мною.

11 ответов11

6

Если вы хотите, чтобы Excel сохранял форматирование ячейки точно в том виде, в котором оно было введено, т. Е. 8230e12, независимо от того, просматриваете ли вы его или редактируете его, то этого нельзя сделать, сохраняя возможность обрабатывать содержимое ячейки как число.

Единственный способ увидеть это - ввести данные в ячейки, отформатированные в виде текста, а затем использовать другую ячейку, отформатированную как некое число, с формулой =VALUE(A1) или любым другим, чтобы вычисления могли быть выполненным на этой клетке.

Кроме того, что вы смотрите на какой-то VBA, чтобы справиться с этим, я бы подумал, что это излишне.

1

У меня было это со списком длинных чисел, около 14000 занесено в один столбец. Я выделил столбец, Данные -> Текст в столбцы -> Фиксированная длина -> Не создавать разрывных линий. Очистите все, что отображается -> Выберите текст формата данных столбца -> Готово. Работал как шарм.

1

У меня был успех в решении того, что, по моему мнению, похоже на ваш вопрос. Все, что я сделал, это создал собственный формат "'#" (обратите внимание на апостроф перед хешем) и применил его к столбцу, содержащему числа, которые необходимо было просмотреть в их 12-значном формате. Мои значения по-прежнему были правильными, хотя столбцы изначально были установлены на общие.

0

У меня была та же проблема с большим числом, которое я хотел без показателя степени, я решил ее, используя функцию Text из Excel. в vba просто сделай

Application.WorksheetFunction.Text(Cells(myrow,mycol).Value(), "0")

Измените "0" на нужный вам формат. Вуаля :)

0

Я решил проблему, используя =IF(MID(B31,6,1)="E","Y","N") чтобы определить, где находится экспонента (представленная "E"), а затем заменив E на "#" using =REPLACE(B31,6,1,"#") .

0

Как прокомментировал @FoleyIsGood: вместо того, чтобы вводить его с помощью нотации "е", запишите его явно: = 8230 * 10^12 .

0

Попробуйте это ="8230e12" . Это сработало для меня только сейчас, после того, как я увидел, что ничего, что вы, ребята, не предложили, было бесполезно, дал этому шанс

0

Это работает:1. Выделите столбец 2. Щелкните правой кнопкой мыши «Формат ячеек ...» 3. На вкладке «Число» выберите «Категория = Число» и убедитесь, что для параметра «Десятичное место» задано значение «Ноль» (если только в содержимом ячейки нет десятичных значений)4. Хорошо

0

Поставьте «» перед числом, затем добавьте вспомогательный столбец, который выполняет «Right» (ячейка, в которую вы ввели, len (ячейка, в которую вы ввели). Это вернет его полностью

0

Отформатируйте ячейку как пользовательский числовой формат, и вы сможете настроить отображение так, как вам нужно. Например, «0000E+12» будет отображать ваш "8230e12" как «8230E+12»

-1
  1. Выделите диапазон ячеек или столбца
  2. Нажмите Пользовательский формат
  3. Ищите вопросительные знаки вроде: «??/??"
  4. Нажмите Enter

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .