У меня есть ячейка с номером (отформатирована как «52,9» в моей локали), и я хочу отформатировать ее в строку в другой ячейке с определенным десятичным разделителем («52,9»). Я не хочу менять свою локаль или что-то еще, я хочу, чтобы она работала одинаково, независимо от используемой локали. Я, конечно, мог бы сделать некоторую сложную формулу, чтобы вырезать целые числа и десятичные дроби и снова соединить их вместе, но мой вопрос: есть ли функция, которая делает это?

Я использую последнюю версию Excel 365.

2 ответа2

2

Да, это довольно просто:

=Substitute("25,84";",";".")

Это приведет к такой строке:

25,84 -> 25.84
1

Получите десятичный разделитель char в отдельной ячейке. Используйте его для замены.

Пример.

  • Поместите число 1,1 в ячейку A1. Это эталонный стандарт.

  • Поместите формулу = MID($ A $ 1,2,1) в B1. Это текущий десятичный разделитель.

  • Поместите значение, которое вы хотите преобразовать в строку с определенным десятичным разделителем (52,9) в A2.

  • Поместите формулу = ЗАМЕНА (A2, $ B $ 1, ".") В B2. Вы получаете нужный вам результат.

Конечно, это можно объединить в одну сложную формулу = ЗАМЕНА (A2, MID ($ A $ 1,2,1), "."), Освобождающая ячейку B1 - это безопасно, когда количество чисел, которые должны быть преобразованы, мало.

Эталонный стандарт и формула текущего десятичного разделителя могут быть размещены в любых статических ячейках (например, в скрытой 1-й строке или на служебной / скрытой рабочей таблице, или, возможно, в вашей рабочей книге есть некоторые подходящие статические данные, которые можно использовать в качестве контрольного стандарта. ..).

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