![Excel 2010 округляет в меньшую сторону число, введенное в качестве пользовательского формата для номера кредитной карты.](https://rvso.com/image/1438138/Excel%202010%20%D0%BE%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D1%8F%D0%B5%D1%82%20%D0%B2%20%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D1%83%D1%8E%20%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D1%83%20%D1%87%D0%B8%D1%81%D0%BB%D0%BE%2C%20%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%B2%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B3%D0%BE%20%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B0%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%B0%20%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82%D0%BD%D0%BE%D0%B9%20%D0%BA%D0%B0%D1%80%D1%82%D1%8B..png)
Я использовал пользовательский формат для ячейки следующим образом:
####-####-####-####
Когда я ввожу номер кредитной карты, он округляет до нуля только последнюю цифру, независимо от того, какая цифра введена.
решение1
Excel распознает только 15 цифр в ячейке, после этого все дополнительные цифры будут заменены нулями.
решение2
Чтобы обойти это поведение, отформатируйте ячейку как текст (как указано в комментариях), затем введите числа. После этого ячейка может отображать до 1024 символов.
Такое поведение происходит только с числами, предназначенными для вычислений, то есть в ячейках, отформатированных как числа. В ячейках, отформатированных как текст, можно ввести до 32 767 символов, из которых Excel отображает на листе до 1 024 символов.
Поскольку пользовательские форматы чисел предназначены для работы в первую очередь с числами, вы не можете создать пользовательский формат чисел, который хранит более 15 цифр. Например, вы не можете использовать следующий формат для хранения 16-значного идентификатора кредитной карты в качестве числа:
-####-####-Если вы введете число 1111222233334444 в ячейку, которая использует формат ####-####-####-####, Excel отобразит в ячейке 1111-2222-3333-4440. Фактическое число, которое вы пытаетесь сохранить, составляет 1 111 222 233 334 444, что составляет более одного квадриллиона. Но поскольку это число очень большое, Excel отбрасывает последнюю (наименее значимую) цифру и ставит на ее место ноль.
Если вы вводите число в ячейку, отформатированную как текст, все символы остаются такими, какими вы их вводите, поскольку Excel не пытается сохранить идентификатор кредитной карты как число, а оставляет его как текст.
решение3
Как вы заметили, Excel распознает только 15 цифр на ячейку. Номера кредитных карт никогда не используются как числа (сложение, умножение и т. д.), поэтому просто вводите их как текст. Вы можете нажать апостроф ( '
) перед вводом чисел, чтобы убедиться, что они рассматриваются как текст.
Если вы не хотите вводить дефисы, вы можете использовать формулу в другом столбце, чтобы добавить дефисы в строку.
=MID(A1,1,4)&"-"&MID(A1,5,4)&"-"&MID(A1,9,4)&"-"&MID(A1,13,4)
Это преобразует эту строку:
1234567890123456
К этому:
1234-5678-9012-3456
В качестве альтернативы вы можете ввести каждый набор из четырех цифр в новую ячейку и использовать следующую формулу для построения номера вашей кредитной карты:
=TEXT(A1,"0000")&"-"&TEXT(B1,"0000")&"-"&TEXT(C1,"0000")&"-"&TEXT(D1,"0000")