У меня есть список чисел в формате 000000xx или 00000yyy. Их несколько тысяч. Я хочу извлечь xx или yyy, но для этого потребуется извлечь количество символов. Есть ли лучший способ сделать это?
решение1
Если ваши данные имеют вид:
1234432566ABC
или
765257754322XY
Тогда последние три символа имеют вид:
АБВ
или
2XY
Мы можем определить, следует ли извлекать 2 или 3 символа, проверив, является ли первый символ из трех цифрой или нет:
=IF(ISERROR(--(LEFT(RIGHT(A1,3),1))),RIGHT(A1,3),RIGHT(A1,2))
ПРИМЕЧАНИЕ:
Главный трюк:
- выделение третьего символасправа
- возможность проверить, является ли этоцифра
решение2
решение3
Это должно вытащитьххилигггс правого конца, при условии, что длина всего текста не превышает 99 символов.
=RIGHT(A2, LEN(A2)-AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1))
'alternate
=REPLACE(A2, 1, AGGREGATE(14, 7, ROW($1:$99)/ISNUMBER(--MID(A2, ROW($1:$99), 1)), 1), "")
Эффективность вычислений можно повысить, если изменить два99's к максимальному количеству цифр, которые необходимо удалить.
решение4
A1
: 1234432566ABC
A2
: 765257754322XY
B1
, скопировано:
=RIGHT(A1,ISERR(-LEFT(RIGHT(A1,3)))+2)
затем,
B1
возвращаться :ABC
B2
возвращаться :XY