2013-10-25 2 views
-1

У меня есть несколько «учетных записей», для которых я хотел бы создать уникальный ссылочный код для каждого. Код ссылки будет представлять собой комбинацию частей различных ячеек. Так, например, ссылка на «счет», занимающей строку 1 будет: cp78925Копирование части содержимого ячейки (без четкого разделителя)

  • cp часть является постоянной величиной, и всегда будет то же самое.

  • 789 часть являются последние три цифры ячейки A1, который содержит код, который предоставляет 10-значный

  • В 25 части первые две цифры ячейки B1, которая содержит дату, на которой был открыт счет ,

Так, например:

если A1 = 1123456789, B1 = 25/10/2013 то уникальный идентификационный код в C1 будет = cp78925

Поисковые запросы на интернет-шоу способов разделения содержимого ячеек пробелами (» «), /, после букв и т. д., или сделать последние 3 цифры BOLD/ITALIC, но я не могу разобраться, как получить мой конкретный ответ.

Большое спасибо. Надеюсь, это достаточно ясно.

ответ

2

вам нужно что-то вроде

="CP" & RIGHT(A1,3) & DAY(B1)

="CP" & RIGHT(A1,3) & TEXT(B1,"dd") 

В любом случае эта формула не даст вам уникальную ссылку, если два A1 кода заканчивается той же 3 цифры в тот же день.

1234567890 01/01/2013 
3213512890 01/02/2013 

И возвратит вас CP89001

Edit: Как сообщает Sam092 (спасибо), DAY() возвращает числовое значение, TEXT() является правильной функции использовать

+0

+ 1 Вы бить меня :( –

+0

+1 и мне тоже: P –

+5

' DAY() 'вернет только 1 цифру за день 01-09 – sam092

1

Формула в C1

="CP"&RIGHT(A1,3)&LEFT(TEXT(B1,"DD/MM/YYYY"),2) 

EDIT:

Я вижу, что вы отметили свой вопрос VBA. Вам не нужно VBA для этого, но все же, если вы хотите, решение VBA затем попробовать этот

ThisWorkbook.Sheets("Sheet1").Range("C1").Formula = _ 
"=""CP""&RIGHT(A1,3)&LEFT(TEXT(B1,""DD/MM/YYYY""),2)" 

или

ThisWorkbook.Sheets("Sheet1").Range("C1").Value = Evaluate(_ 
"=""CP""&RIGHT(A1,3)&LEFT(TEXT(B1,""DD/MM/YYYY""),2)") 
Смежные вопросы