Wprowadź liczby do określonej długości w arkuszu kalkulacyjnym Google [zamknięte]


33

Mam kolumny z liczbami całkowitymi takimi jak ten: 1, 2, 3, 4, 5i chcę, aby utworzyć kolejną kolumnę z tych wartości wypełnienia na długości trzech tak: 001, 002, 003, 004, 005.

Czy w arkuszu kalkulacyjnym Google można uzupełnić ciąg znaków?

Nie byłem w stanie znaleźć standardowej funkcji do tego.


2
Nie jest to dokładnie to, o co prosiłeś, ale osiąga porównywalny efekt i może być rozwiązaniem dla typowego zadania, którego ludzie szukają: (1) wybierz kolumnę z liczbami, które chcesz uzupełnić. (2) Wybierz Format> Liczba> Więcej formatów> Niestandardowy format liczb ... (3) W oknie dialogowym wprowadź tyle cyfr, ile cyfr powinien zawierać ciąg liczbowy, np. 000 w twoim przykładzie.
— tophcito

2
Nie należy go po prostu zamykać, należy go przenieść na webapps.stackexchange.com
— Lennart Rolland

Odpowiedzi:


53

Zalecanym sposobem jest użycie funkcji TEXT () .

Szybkie podsumowanie tego, jak używałbyś go w swoim przypadku:

=TEXT(5,"000")

Wyprowadziłby:

005

Oczywiście zastąpiłbyś literał 5 odniesieniem do innej komórki, w której znajduje się numer źródłowy.


Czy istnieje sposób na wypełnienie spacjami?
— Álex

Wydaje mi się, że po prostu „000” zamiast „” powyżej
— Lennart Rolland

12

Jeśli chcesz tylko wyświetlić zmiany, możesz zastosować niestandardowy format liczbowy „000” do komórek.wprowadź opis zdjęcia tutaj

Zaznacz komórki, kliknij na format> Number> Inne formaty> format numeru klienta ... .

Od Docs editors pomocy :

Cyfra w liczbie. W wynikach pojawi się nieznaczne 0.


2
Czy możesz edytować swoją odpowiedź, aby rozwinąć sposób, w jaki PO to zrobiłby?
— Burgi,

3

Rozwiązanie tymczasowe

Oto tymczasowe obejście, które wymyśliłem.

Formuła robocza

Po prostu użyj tej formuły:

`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`

Zamień na 3długość wypełnienia i 0znak wypełnienia. A2jest źródłem dopełnienia.

Wyjaśnienie

Rozważ następujący arkusz kalkulacyjny:

-------------
| A   |  B  |
-------------
| 1   | 001 |
-------------
| 2   | 002 |
-------------
| 31  | 031 |
-------------
| 45  | 045 |
-------------
| 500 | 500 |
-------------

Mamy początkową kolumnę (A) z liczbami całkowitymi, które chcemy uzupełnić. Kolumna (B) będzie zawierać specjalną formułę do przetwarzania danych.

Powiązać!

Po pierwsze potrzebujemy sposobu na połączenie wartości z Akolumny za pomocą łańcucha dopełniającego. Możemy to zrobić za pomocą CONCATENATEfunkcji:

=CONCATENATE("00", A2)

Powtarzać!

W tej chwili znak wypełniania 0jest powtarzany dwukrotnie w naszej formule. To nie jest dobre. Możemy użyć REPTfunkcji, aby powtórzyć nasz znak wypełniający kilka razy w następujący sposób:

=REPT("0", 2)

Ta formuła powtórzy się 0dwa razy. Połączmy je:

=CONCATENATE(REPT("0", 2), A2)

Oblicz długość!

Tak lepiej Ale długość dopełniania ma stałą wartość w naszej formule i nie będzie działać z liczbami większymi niż 9. Możemy to naprawić, obliczając długość dopełnionego łańcucha (używając LENfunkcji) i odejmując go od naszej długości docelowej:

=3-LEN(A2)

Dodajmy to do naszej formuły:

=CONCATENATE(REPT("0", 3-LEN(A2)), A2)

Otrzymamy jednak wyniki ujemne dla wartości większych niż 999 i spowoduje to przerwanie REPTfunkcji (liczba powtórzeń nie może być ujemna).

Możemy to łatwo naprawić, dodając warunek:

=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")

Złóżmy razem ostatnie pokoju:

=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)

Doskonały! To najlepsza odpowiedź i działa z wartościami nienumerycznymi ;-D
— t3chb0t
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.