2015-06-23 2 views
0

Мне интересно, есть ли способ сделать это без использования vba. На данный момент у меня есть столбец с идентификационными номерами для тестового сценария, который я создаю.Форматировать часть строки, используя формулу

до присваивается идентификационный до сих пор были 001; 002; 003;....etc Теперь то, что я пытаюсь сделать, это автоматическое заполнение ID, но предваряя CLL- в передней части ID, чтобы дать мне CLL-001

Я использую формулу

="CLL-" & ROW()-1 

Однако это возвращает CLL-1. То, что я хотел бы сделать, - это числовая часть идентификатора, отформатированного до 3 с.ф. но я не вижу способа сделать это без использования vba. Поэтому есть в любом случае сделать это в формуле первенствовать вместо того чтобы использовать что-то вроде:

cell.value = "CLL-" & Format(cell.row-1, "000") 

ответ

0

="CLL-" & TEXT(ROW()-1,"000") является одним из способов.

Это сломается на строке 1001. Вы можете использовать MOD для обслуживания только 3 цифр.

+0

Это похоже на работу в строке '1048576'. Я планирую вычеркнуть формулы и просто вставить значения после того, как я закончил писать документ, чтобы все идентификационные ссылки оставались постоянными. Это просто для их создания во время написания. Есть ли альтернатива ROW. Я заполняю таблицу (listobject), поэтому было бы очень удобно, если бы я мог вернуть строку этого (как в vba) вместо листа – Tom

+0

Функция ROW() нестабильна. https://msdn.microsoft.com/en-us/library/aa730921%28v=office.12%29.aspx?f=255&MSPPError=-2147217396 – teylyn

+0

Идиоматическим способом является запись 1 в верхней части столбца (скажем, столбец B), затем в ячейке B2, напишите = B1 + 1 и скопируйте вниз. – Bathsheba

Смежные вопросы