Geçici çözüm
İşte geldiğim geçici geçici çözüm.
Çalışma formülü
Sadece bu formülü kullanın:
`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`
3
Dolgu uzunluğu ve 0
dolma karakteri ile değiştirin . A2
bir dolgu kaynağıdır.
açıklama
Aşağıdaki elektronik tabloyu göz önünde bulundurun:
-------------
| A | B |
-------------
| 1 | 001 |
-------------
| 2 | 002 |
-------------
| 31 | 031 |
-------------
| 45 | 045 |
-------------
| 500 | 500 |
-------------
Dolgu yapmak istediğimiz tamsayıları içeren ilk sütuna (A) sahibiz. (B) sütunu, verileri işlemek için özel formülü içerecektir.
Concatenate!
Öncelikle, A
sütundaki değeri doldurma dizesiyle birleştirmenin bir yoluna ihtiyacımız var . Bunu CONCATENATE
fonksiyonla yapabiliriz:
=CONCATENATE("00", A2)
Tekrar et!
Şu anda, 0
formüldeki dolgu karakteri iki kez tekrarlanıyor. Bu iyi değil. REPT
Dolgu karakterimizi bu şekilde birkaç kez tekrarlamak için işlevi kullanabiliriz :
=REPT("0", 2)
Bu formül 0
iki kez tekrarlanacaktır . Onları birleştirelim:
=CONCATENATE(REPT("0", 2), A2)
Uzunluk hesapla!
Bu daha iyi. Ancak, doldurma uzunluğu formülümüzde sabit bir değere sahiptir ve 9'dan büyük sayılarla çalışmayacaktır. Bunu, dolgulu dizenin uzunluğunu ( LEN
işlev kullanarak ) hesaplayarak düzeltebilir ve hedef uzunluğumuzdan çıkarabiliriz:
=3-LEN(A2)
Hadi onu formülümüze ekleyelim:
=CONCATENATE(REPT("0", 3-LEN(A2)), A2)
Bununla birlikte, 999'dan büyük değerler için negatif sonuçlar elde edeceğiz ve bu işlevi kıracak REPT
(tekrar sayısı negatif olamaz).
Bir koşul ekleyerek kolayca düzeltebiliriz:
=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")
Son barışları bir araya getirelim:
=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)