У меня есть столбец чисел (столбец P), на который ссылаются как на миллиарды и миллионы, например, 2.12B (для 2.12 миллиардов), 887.99M (для 887.99 миллионов). Данные были скопированы и вставлены из Интернета. Нужна помощь с формулой, чтобы преобразовать приведенные выше примеры в те же ячейки, которые содержат данные, округленные до тысяч, и заменить точку / точку полного числа на запятую в качестве разделителя, например, для 2.12B результаты будут равны 2 120 000, а для 887.99M - результаты быть 887,990. Я думаю, что, возможно, лучше использовать условное форматирование, потому что в столбце будут скопированы и вставлены новые данные, которые потребуют возврата результатов, как указано выше. Большое спасибо.

2 ответа2

2

В Q1 введите:

=--MID(P1,1,LEN(P1)-1)*(IF(RIGHT(P1,1)="M",1000000,(IF(RIGHT(P1,1)="B",1000000000,1))))

и скопировать вниз:

Если вам нужно преобразование в той же ячейке, то потребуется макрос:

Sub Konverter()
    Dim r As Range, v As String, s As String

    For Each r In Columns(16).SpecialCells(2)
        v = r.Text
        s = Right(v, 1)
        Select Case s
            Case "M"
                r.Value = 1000000 * CDbl(Mid(v, 1, Len(v) - 1))
            Case "B"
                r.Value = 1000000000 * CDbl(Mid(v, 1, Len(v) - 1))
            Case Else
                r.Value = CDbl(v)
        End Select
    Next r
End Sub
0

У меня нет Excel под рукой, чтобы опубликовать рабочее решение, но вам нужно следующее:

  • MID - функция для отделения номера от B или M
  • LEN - функция, которая возвращает длину строки
  • ЗАМЕНА - функция для замены точки запятой

Окончательный результат должен быть похож на: = ЗАМЕНА (MID (A1,1, LEN (A1) -1), ".", ",") * IF (MID (A1, LEN (A1) -1), LEN (A1)) = "М", 1000000, 1000000000)

Возможно, я не согласен с некоторыми параметрами, и я работаю с ячейкой A1 - вам следует протестировать с несколькими значениями и адаптировать пример в соответствии с вашими потребностями.

Если вы перетащите эту формулу через столбец, она будет работать для всех будущих данных.

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