Angka gabungan yang memiliki nol di depan


2

Saya mencoba menggabungkan / menggabungkan angka dalam kolom yang berbeda menjadi satu angka panjang. Beberapa angka memiliki angka nol di depan karena format khusus yang diterapkan ke sel. Ketika saya menggabungkan mereka bersama-sama, nol dihapus. Apakah ada yang tahu bagaimana rumus akan terlihat sehingga nol di depannya tidak dihapus?

Contoh:
A1 = 08,
B1 = 7,
C1 = 0,
D1 = 17,
E1 = 00,
F1 = 01,
G1 = Angka terkonsentrasi dari A1 ke F1

Jumlah yang dihasilkan harus 0870170001namun angka berikut muncul 8701701.

Saya menggunakan Excel 2010, dan ini adalah rumus saya sudah mencoba: =CONCATENATE(A1;B1;C1;D1;E1;F1).


1
Nomor tidak dapat memiliki nol terkemuka karena "3" dan "03" adalah dua yang berbeda representasi yang sama nomor . Angka-angka yang membingungkan dengan representasi angka akan menyebabkan Anda tanpa akhir masalah menggunakan komputer dan terutama pemrograman mereka.
David Schwartz

Jawaban:


2

Anda mungkin tidak membutuhkan; tetapi sebaliknya, gunakan koma untuk menunjukkan masing-masing nilai string yang terpisah (ini mungkin tergantung pada pengaturan lokalisasi - Terima kasih Bob).

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

Namun, Anda harus memastikan bahwa sel-sel dengan angka dalam diformat ke teks dengan menyorot baris dan di pita Beranda, di bawah tab Nomor, di daftar turun bawah pilih 'Teks'.

masukkan deskripsi gambar di sini


2
Saya pikir Excel menggunakan titik koma daripada koma untuk memisahkan parameter di beberapa lokalisasi ... (IIRC itu yang menggunakan koma untuk menunjukkan titik desimal [titik radix])
Bob

Terima kasih @ Bob, saya tidak menyadarinya. Memperbarui jawaban yang sesuai (meskipun hati-hati)
Dave

Apakah ada cara untuk menggabungkan kolom yang diformat sebagai "kebiasaan" dan bukan sebagai "teks"?
Dibutuhkan bantuan

Anda dapat menggabungkan sebagian besar sel yang diformat (tidak berfungsi dengan baik dengan tempat desimal, kecuali jika itu adalah string). Masalahnya adalah apakah sel menampilkan data seperti yang Anda inginkan.
Dave

Jika data pengguna dalam format khusus, mengubah format sel menjadi Teks akan mengubah cara data ditampilkan dan mengubah apa yang diteruskan ke rumus gabungan. Karena alasan ini, mengubah format bukanlah solusi.
Excellll

0

Saya melihat dari komentar Anda bahwa sel-sel Anda kemungkinan besar memiliki format khusus, dan nilai yang ditampilkan dalam sel-sel ini kemungkinan berbeda dari nilai yang dimasukkan (misalnya "8" ditampilkan sebagai "08"). Dalam hal ini, Anda dapat menggabungkan setiap nilai yang dibungkus dengan TEXTfungsi dengan format sel yang ditentukan. Misalnya, jika A1memiliki format khusus "00", Anda akan menggunakan TEXT(A1,"00")istilah untuk A1dalam rumus gabungan Anda. Untuk rumus lengkap, Anda mungkin memiliki sesuatu seperti ini:

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

Tentu saja, ini membosankan karena mengharuskan Anda untuk secara manual membuat ulang format setiap sel. Jika Anda akan sering menggunakan ini dengan banyak format yang bervariasi, saya akan mengatakan ini adalah kesempatan yang sempurna untuk menggunakan fungsi VBA untuk melakukan pekerjaan berat. Anda dapat menempelkan kode berikut ke dalam modul di VBA Editor (dibuka dengan menekan 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

Kemudian, Anda dapat menggunakan rumus berikut ini di G1.

=CONCATwFORMATS(A1:F1)

Ini hanya upaya cepat pada kode ini, jadi perhatikan dua persyaratan fungsi:

  1. Hanya membutuhkan rentang yang berdekatan sebagai argumen.
  2. Ini merangkum nilai-nilai secara berurutan dari kiri ke kanan (dan atas ke bawah).

Kode dapat diubah untuk menghapus batasan ini, tetapi untuk apa yang Anda inginkan, sepertinya ini akan berfungsi dengan baik.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.