Các số nối có các số 0 đứng đầu


2

Tôi đang cố gắng kết hợp / ghép các số trong các cột khác nhau thành một số dài. Một số số có các số 0 đứng đầu do các định dạng tùy chỉnh được áp dụng cho các ô. Khi tôi ghép chúng lại với nhau, các số không được loại bỏ. Có ai biết công thức sẽ trông như thế nào để các số 0 đứng đầu không bị xóa không?

Ví dụ:
A1 = 08,
B1 = 7,
C1 = 0,
D1 = 17,
E1 = 00,
F1 = 01,
G1 = Số tập trung từ A1 đến F1

0870170001Tuy nhiên, số kết quả sẽ là số sau 8701701.

Tôi đang sử dụng Excel 2010 và đây là công thức tôi đã thử : =CONCATENATE(A1;B1;C1;D1;E1;F1).


1
Các số không thể có các số 0 đứng đầu vì "3" và "03" là hai cách biểu thị khác nhau của cùng một số . Những con số khó hiểu với cách biểu diễn số sẽ khiến bạn không gặp vấn đề gì khi sử dụng máy tính và đặc biệt là lập trình chúng.
David Schwartz

Câu trả lời:


2

Bạn có thể không cần; nhưng thay vào đó, sử dụng dấu phẩy để hiển thị mỗi giá trị là một chuỗi riêng biệt (điều này có thể phụ thuộc vào cài đặt nội địa hóa - Cảm ơn Bob).

=CONCATENATE(A1,B1,C1,D1,E1,F1)

Tuy nhiên, bạn sẽ cần đảm bảo rằng các ô có số được định dạng thành văn bản bằng cách tô sáng hàng và trong ruy-băng Trang chủ, dưới tab Số, trong danh sách thả xuống, chọn 'Văn bản'.

nhập mô tả hình ảnh ở đây


2
Tôi nghĩ rằng Excel sử dụng dấu chấm phẩy thay vì dấu phẩy để phân tách các tham số trong một số địa phương hóa ... (IIRC đó là dấu phẩy sử dụng dấu phẩy để chỉ dấu thập phân [điểm radix])
Bob

Cảm ơn @Bob, tôi đã không nhận ra điều đó. Cập nhật câu trả lời phù hợp (mặc dù thận trọng)
Dave

Có cách nào để kết hợp các cột được định dạng là "tùy chỉnh" và không phải là "văn bản" không?
Được giúp đỡ vào

Bạn có thể nối hầu hết các ô được định dạng (mặc dù nó không hoạt động tốt với các vị trí thập phân trừ khi đó là một chuỗi). Vấn đề là liệu tế bào có hiển thị dữ liệu như bạn muốn hay không.
Dave

Nếu dữ liệu của người dùng ở định dạng tùy chỉnh, việc thay đổi định dạng của ô thành Văn bản sẽ thay đổi cách hiển thị dữ liệu và thay đổi nội dung được chuyển sang công thức nối. Vì lý do này, thay đổi định dạng không phải là một giải pháp.
Xuất sắc

0

Tôi thấy từ nhận xét của bạn rằng các ô của bạn rất có thể có định dạng tùy chỉnh và giá trị được hiển thị trong các ô này có thể khác với giá trị đã nhập (ví dụ: "8" được hiển thị là "08"). Trong trường hợp này, bạn có thể nối từng giá trị được gói trong một TEXThàm với định dạng đã chỉ định của ô. Ví dụ: nếu A1có định dạng tùy chỉnh "00", bạn sẽ sử dụng TEXT(A1,"00")làm thuật ngữ cho A1công thức nối của mình. Đối với công thức đầy đủ, bạn có thể có một cái gì đó như thế này:

=TEXT(A1,"00")&TEXT(B1,"@")&TEXT(C1,"0")&...

Tất nhiên, điều này là tẻ nhạt vì nó yêu cầu bạn phải tự tạo lại định dạng của từng ô. Nếu bạn sẽ sử dụng nó rất nhiều với nhiều định dạng khác nhau, tôi sẽ nói rằng đây là một cơ hội hoàn hảo để sử dụng chức năng VBA để thực hiện các công việc nặng. Bạn có thể dán mã sau vào mô-đun trong Trình chỉnh sửa VBA (được mở bằng cách nhấn 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

Sau đó, bạn có thể sử dụng công thức sau trong G1.

=CONCATwFORMATS(A1:F1)

Đây chỉ là một nỗ lực nhanh chóng với mã này, vì vậy hãy lưu ý hai yêu cầu của hàm:

  1. Nó chỉ lấy một phạm vi tiếp giáp làm đối số.
  2. Nó nối các giá trị theo thứ tự từ trái sang phải (và từ trên xuống dưới).

Mã có thể được điều chỉnh để loại bỏ những hạn chế này, nhưng với những gì bạn muốn, có vẻ như điều này sẽ hoạt động tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.