Об'єднайте дві комірки “AAA” та “001”, щоб отримати “AAA-001”?


0

Я намагаюся об'єднати дві комірки в одну і знаю, як це зробити приємно і просто, моя проблема полягає в тому, що числа нижче 100 (тобто 001) втрачають свої "0".

Приклад:

Клітинка A1 - комірка "AAA" B1 - "001" Клітина С1 - = A1 & "-" & B1

В комірці С1 повинен бути "AAA-001", але він відображається лише "AAA-1"

Клітинка B1 відформатована як число, що показує 001.

Я спробував використовувати CONCANTATE та TEXT, але безрезультатно. Хто-небудь знає, як я можу змусити excel створити результат "AAA-001"?

Відповіді:


5

Проблема полягає в тому, що, якщо ви не скажете це якимось чином, excel інтерпретуватиме число як число і не буде розглядати формат, який ви вказали для номера. Вирішити це можна двома способами:

1) Форматуйте B1 як текст

2) Більш елегантне - використовуйте текстову формулу для перетворення числа в текст у потрібному форматі:

 =A1&"-"&TEXT(B1,"000")

Це дасть бажаний результат і збереже B1 як число, яке можна використовувати для обчислень. Текстова формула бере два аргументи, розділені комою, перший - число, другий - потрібний вам формат. Скажіть, якщо ви хочете вставити знак фунта перед значенням і використовувати десяткову точку, ваш формат буде "£ 000.00"


Ідеально. Я знав, у чому проблема, але просто не міг її вирішити, використовуючи "000", оскільки формат тексту працював ідеально. TY так багато, ви просто врятували мене, можливо, 20 годин роботи протягом наступних кількох місяців :)
Кевін Ентоні Оппегаард Роза

0

Спробуйте додати одну клітку в клітинку перед 001 так: '001.

або

якщо це неможливо, я б використовував функцію VBA (помістив її в модуль VBA):

Public Function Padding(cell As Range, paddingFormat As String) As String
  Padding = format(cell.Value, paddingFormat)
End Function

Тоді ви можете використовувати формулу на зразок: = Concatenate (A1; "-"; Padding (A2, "000")) - padding повертає 001, навіть якщо A2 дорівнює 1.

paddingFormat заснований на функції Формат (див. посилання нижче). У вашому випадку вам потрібно 000, щоб примусити 3 цифри як мінімум весь час. http://msdn.microsoft.com/en-us/library/59bz1f0h(v=vs.90).aspx


На жаль, 001 зібраний із зовнішнього сорту і скопійований на місце, як 1 для його перетворення в текст, використовуючи ", це не допоможе стати масовим просіданням часу, і я можу також залишити його як 001 і порівняти два на очі. Дякую за вашу відповідь.
Кевін Ентоні Оппегаард Роуз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.