Самый простой способ - использовать right ().Right возвращает последний символ (или символы) или строку.Используя его, есть несколько решений.
Вы можете сделать
Iferror(Value(A1),Value(Left(A1,Len(A1)-1))*If(right(A1)="M",10^6,10^3))
То, что мы делаем, это сначала сказать, если значение A1 является ошибкой, протестируйте функцию.Это связано с тем, что если значение A1 является просто числом, оно будет игнорировать всю строковую ерунду, которую мы планируем сделать с ним.
Предполагая, что это не число, в конце должны быть K или M.Мы хотим удалить это, чтобы получить номер.Поэтому мы берем самые левые символы до K или M и смотрим только на них.Мы делаем это, спрашивая, какова длина А1, и вытягивая на 1 символ меньше слева.Это всегда будет пропускать последний символ, который в нашем случае всегда будет K или M. Важно, чтобы мы отфильтровали числа перед тем, как сделать это, иначе это удалит окончательное число, и наш результат будет отключен с коэффициентом 10.
Теперь мы оцениваем эту строку, чтобы получить число.Теперь нам нужно умножить его на K или M, которые мы вытащили.К счастью, это так же просто, как поставить оператор * и оператор if, поскольку у нас есть только 2 варианта.Либо это M, и мы умножаем на 10 ^ 6, либо это ak, и мы умножаем на 10 ^ 3.
Но поскольку это превосходно, вы также можете извлечь много чушь:
Iferror(Value(A1),(Left(A1,Len(A1)-1)+0)*If(right(A1)="M",10^6,10^3))
технически короче и все равно будет работать, несмотря на меньший смысл.