Excel - удаление определенного десятичного числа в ячейке - PullRequest
1 голос
/ 18 октября 2019

Мне трудно удалить только последний десятичный знак из моих ячеек. Есть предложения?

Пример: с 0101.29.00.90 по 0101.29.0090

Ответы [ 3 ]

0 голосов
/ 18 октября 2019

Вам необходимо использовать функцию ЗАМЕНА .

ЗАМЕНА (текст, old_text, new_text, [instance_num])

Функция ЗАМЕНАсинтаксис имеет следующие аргументы:

Текст Обязательно . Текст или ссылка на ячейку, содержащую текст, для которого вы хотите заменить символы.

Old_text Обязательно . Текст, который вы хотите заменить.

Новый_текст Обязательно . Текст, который вы хотите заменить old_text на.

Instance_num Необязательно . Определяет, какое вхождение old_text вы хотите заменить на new_text. Если вы укажете instance_num, будет заменен только этот экземпляр old_text. В противном случае каждое вхождение old_text в тексте изменяется на new_text.


Last Option не является обязательным для вашей проблемы. Например, используйте приведенную ниже формулу

=SUBSTITUTE(A1,".","",3)

, предполагая, что исходные данные находятся в ячейке A1.

Она заменит третью точку пустой строкой, и вы получите желаемое решение.

, т.е. с 0101.29.00.90 по 0101.29.0090

0 голосов
/ 21 октября 2019

Вот более универсальный подход:

Предположим, ваши данные находятся в ячейке A1, в ячейке B1 введите следующую формулу массива :

=REPLACE(A1,MAX(IFERROR(FIND(".",A1,ROW($A$1:INDEX($A:$A,LEN(A1)))),0)),1,"")

Вы ДОЛЖНЫ нажать Ctrl + Shift + Введите после завершения формулы в строке формул, иначе она не будет работать правильно. Затем вы можете просто перетащить формулу вниз, чтобы применить поперек.

Логика заключается в том, чтобы использовать функцию FIND , чтобы найти положение каждой точки . в строке, а затем использовать MAX + IFERROR используется для возврата наибольшего значения, то есть положения последней точки ., затем используйте функцию REPLACE для замены последней точки . пустой "".

Вот некоторые результаты тестирования:

| Sample Data     | Result         |
|-----------------|----------------|
| 0101.29.00.90   | 0101.29.0090   |
| 1.2.3.4.5.6.7.8 | 1.2.3.4.5.6.78 |
| 000.111.222.3   | 000.111.2223   |
| 4.3.2.01        | 4.3.201        |
0 голосов
/ 18 октября 2019

Предположим, A1: 0101.29.00.90

Чтобы удалить последний десятичный знак из ячейки, если число десятичных знаков не зафиксировано, в B1 введите формулу:

=SUBSTITUTE(A1,".","",LEN(A1)-LEN(SUBSTITUTE(A1,".","")))

Чтобы удалить последнийдесятичная дробь из ячейки, если десятичная дробь фиксирована в 3 нет, формула B1 может быть сокращена до:

=SUBSTITUTE(A1,".","",3)

Результат: 0101.29.0090

...