Добрый день Уважаемые форумчане. Прошу посмотреть на мою задачу и если есть возможность помочь решить ее.
1 | 2 | 3 |
0446560230 | Помидоры | 10 |
0446560230с0 | Помидоры | 101 |
Имею такого формата таблицу (множество таблиц). Для правильного использования функции ВПР или другой подобной - необходимо значения сводить в единый вид.
Стандартом в моей сфере деятельности является для "помидоры" вид 04465-60230 и 04465-60230-С0 (то есть необходимо вставить разделитель "-"). Таблицы бывают очень объемные. И формула вида:
Код |
---|
=IF(LEN(RC[-7])<5;RC;MID(RC[-7];1;5)&"-"&MID(RC[-7];6;99))
=IF(LEN(RC[-2])<5;RC;MID(RC[-2];1;11)&"-"&MID(RC[-2];12;99))
|
не сильно удобная - Приходится визуально искать и ручками править полученные результаты
То есть получается таблица такого вида:
1 | 2 | 3 | 4 |
0446560230 | Помидоры | 10 | 04465-60230 |
0446560230С0 | Помидоры | 101 | 04465-60230-С0 |
55256СТХА00 | Огурцы | 18 | 55256-СТХ-А00 |
Так как знаний не так много, приходится использовать много ручной работы....
Код |
---|
В первой строке используется формула =IF(LEN(RC[-7])<5;RC;MID(RC[-7];1;5)&"-"&MID(RC[-7];6;99)) |
Во второй строке делается поочередно формулы (через столбец):
Код |
---|
=IF(LEN(RC[-7])<5;RC;MID(RC[-7];1;5)&"-"&MID(RC[-7];6;99))
=IF(LEN(RC[-2])<5;RC;MID(RC[-2];1;11)&"-"&MID(RC[-2];12;99)) |
В третьей строке, там где наименование "огурцы"
Код |
---|
=IF(LEN(RC[-7])<5;RC;MID(RC[-7];1;5)&"-"&MID(RC[-7];6;99))
=IF(LEN(RC[-2])<5;RC;MID(RC[-2];1;9)&"-"&MID(RC[-2];10;99))
|
Как сделать более "автоматический" вариант. То есть как прописать в одну строку: Если в столбце 1 лежат "огурцы" то сделать два разделителя после 5 знака и после 8 (9 не знаю как эксель в таком случае будет считать цифры). И если первый столбец относится к помидорам, а колличество цифр более 10, ставить 2 разделителя после 5 знака и после 10 (11 опять таки смотря как считать будет эксель)
Это реально сделать без использования макросов?
Всем огромное спасибо и хорошего весеннего дня!