Google E-Tablodaki sayıları belirli bir uzunluğa getirin


33

Böyle tamsayı numaraları ile bir sütun vardır: 1, 2, 3, 4, 5ve böyle üç uzunluğa doldurulması bu değerlerle başka bir sütun oluşturmak istiyorum: 001, 002, 003, 004, 005.

Google E-Tablo'da dize uzunluğunu doldurmak mümkün mü?

Bunun için standart bir işlev bulamadım.


2
Bu tam olarak istediğin şey değil, karşılaştırılabilir bir etki yaratıyor ve insanların aradığı ortak bir görev için bir çözüm olabilir: (1) sütunu doldurmak istediğiniz sayılarla seçin. (2) Biçim> Sayı> Diğer Biçimler> Özel Sayı Biçimi ... 'ni seçin. (3) İletişim kutusunda, sayı dizesinin sahip olması gereken sayı kadar 0 girin, örneğin örneğinizde 000.
tophcito

2
Basitçe kapatılmamalı, webapps.stackexchange.com
Lennart Rolland

Yanıtlar:


53

Önerilen yöntem, TEXT () işlevini kullanmaktır .

Senin durumunda nasıl kullanacağına dair kısa bir özet:

=TEXT(5,"000")

Çıktısı olur:

005

Elbette, literal 5'i, kaynak numarasının bulunduğu başka bir hücreye referansla değiştirirsiniz.


Boşluklarla dolmanın bir yolu var mıydı?
Álex

Bence sadece "" ile ""
irtifa

12

Yalnızca ekran değişikliklerini istiyorsanız, "000" özel sayı biçimini hücrelere uygulayabilirsiniz .görüntü tanımını buraya girin

Hücreleri seçin, Format> Numara> Diğer Formatlar> Özel numara formatı ... üzerine tıklayın .

Gönderen Dokümanlar düzenleyicileri yardım :

Rakamda bir rakam. Sonuçlarda önemsiz bir 0 görünecektir.


2
OP'nin bunu nasıl yapacağını genişletmek için cevabınızı düzenleyebilir misiniz ?
Burgi

3

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)`

3Dolgu uzunluğu ve 0dolma karakteri ile değiştirin . A2bir 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, Asütundaki değeri doldurma dizesiyle birleştirmenin bir yoluna ihtiyacımız var . Bunu CONCATENATEfonksiyonla yapabiliriz:

=CONCATENATE("00", A2)

Tekrar et!

Şu anda, 0formüldeki dolgu karakteri iki kez tekrarlanıyor. Bu iyi değil. REPTDolgu karakterimizi bu şekilde birkaç kez tekrarlamak için işlevi kullanabiliriz :

=REPT("0", 2)

Bu formül 0iki 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 ( LENiş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)

Mükemmel! Bu en iyi cevaptır ve sayısal olmayan değerlerle çalışır;
D
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.