Solusi sementara
Inilah solusi sementara yang saya buat.
Formula kerja
Cukup gunakan rumus ini:
`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`
Ganti 3dengan panjang padding dan 0dengan karakter padding. A2adalah sumber padding.
Penjelasan
Pertimbangkan spreadsheet berikut:
-------------
| A | B |
-------------
| 1 | 001 |
-------------
| 2 | 002 |
-------------
| 31 | 031 |
-------------
| 45 | 045 |
-------------
| 500 | 500 |
-------------
Kami memiliki kolom awal (A) dengan bilangan bulat yang ingin kami pad. Kolom (B) akan berisi formula khusus untuk memproses data.
Menggabungkan!
Pertama-tama kita membutuhkan cara untuk menggabungkan nilai dari Akolom dengan string padding. Kita dapat melakukan ini dengan CONCATENATEfungsi:
=CONCATENATE("00", A2)
Ulangi!
Saat ini, karakter padding 0diulang dua kali dalam formula kami. Ini tidak bagus. Kita dapat menggunakan REPTfungsi untuk mengulangi karakter padding kami beberapa kali seperti ini:
=REPT("0", 2)
Formula ini akan diulang 0dua kali. Mari kita gabungkan mereka:
=CONCATENATE(REPT("0", 2), A2)
Hitung panjang!
Itu lebih baik. Tetapi panjang padding memiliki nilai konstan dalam formula kami dan itu tidak akan bekerja dengan angka lebih besar dari 9. Kita bisa memperbaikinya dengan menghitung panjang string yang empuk (menggunakan LENfungsi) dan mengurangi itu dari panjang target kami:
=3-LEN(A2)
Mari tambahkan ke formula kami:
=CONCATENATE(REPT("0", 3-LEN(A2)), A2)
Namun, kami akan mendapatkan hasil negatif untuk nilai yang lebih besar dari 999 dan itu akan merusak REPTfungsinya (jumlah pengulangan tidak bisa negatif).
Kami dapat dengan mudah memperbaikinya dengan menambahkan kondisi:
=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")
Mari kita menyatukan perdamaian terakhir:
=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)