Из вашего комментария я вижу, что ваши ячейки, скорее всего, имеют собственные форматы, и отображаемое значение в этих ячейках, вероятно, отличается от введенного значения (например, "8" отображается как "08"). В этом случае вы можете объединить каждое значение, заключенное в функцию TEXT
с указанным форматом ячейки. Например, если A1
имеет пользовательский формат "00", вы должны использовать TEXT(A1,"00")
в качестве термина для A1
в вашей формуле объединения. Для полной формулы у вас может быть что-то вроде этого:
=TEXT(A1,"00")&TEXT(B1,"@")&TEXT(C1,"0")&...
Конечно, это утомительно, поскольку требует ручного воссоздания формата каждой ячейки. Если вы собираетесь использовать это много разных форматов, я бы сказал, что это прекрасная возможность использовать функцию VBA для тяжелой работы. Вы можете вставить следующий код в модуль в редакторе VBA (открывается нажатием Alt+F11).
Public Function CONCATwFORMATS(rng1 As Range) As String
Dim tmpstr As String, tmpFormat As String
Dim c As Range
For Each c In rng1
tmpFormat = c.NumberFormat
If tmpFormat = "General" Then
tmpstr = tmpstr & c.Value
Else
tmpstr = tmpstr & Format(c.Value, tmpFormat)
End If
Next c
CONCATwFORMATS = tmpstr
End Function
Затем вы можете использовать следующую формулу в G1
.
=CONCATwFORMATS(A1:F1)
Это просто быстрая попытка использования этого кода, поэтому обратите внимание на два требования функции:
- Это только берет непрерывный диапазон в качестве аргумента.
- Он объединяет значения в порядке слева направо (и сверху вниз).
Код можно настроить, чтобы снять эти ограничения, но для того, что вы хотите, похоже, это будет работать нормально.