Jak zatrzymać automatyczne formatowanie programu Excel i sprawić, aby działał jak program do łamania liczb


20

Mam prawdziwy problem z programem Excel w plikach CSV, w którym formatuje on liczby w określony sposób i nie mogę uzyskać programu Excel do prawidłowego wyświetlania danych bez względu na to, co robię.

Wyobraź sobie, że mam colum o nazwie „Product Reference”. W tej kolumnie mam wiele identyfikatorów tego typu:

  • 001145
  • 55666
  • 02133

Ilekroć otwieram plik Excel, formatuje te liczby, aby były:

  • 1145
  • 55666
  • 2133

Co jest całkowicie błędne. Po podświetleniu kolumny i sformatowaniu jej jako tekstu poprzednie 0 na początku liczb nie zwracają się.

Próbując rozwiązać ten problem, najpierw uczyniłem plik csv plikiem tekstowym, a następnie zaimportowałem plik do programu Excel i konkretnie powiedziałem mu, aby nie formatował liczb, ustawiając format tekstu w imporcie, ale nadal formatuje liczby po zamknięciu i otwórz go ponownie, ponieważ csv nie może zdefiniować typów, więc program Excel automatycznie zapisuje plik jako czysty śmieci.

Czy ktoś znalazł sposób na obejście tego i mógłby mi pomóc?

Dzięki,


O ile mi wiadomo, jedynym sposobem, aby Excel wiernie renderował plik CSV, jest zaimportowanie go jako tekst, zgodnie z opisem.
— Excellll,

Nie musisz jednak przekształcać CSV w plik tekstowy. Funkcja Importuj z pliku tekstowego działa również w przypadku plików CSV. Musisz tylko określić, że masz separatory przecinków.
— Excellll,

Odpowiedzi:


20

Musisz określić w pliku csv, że jest to tekst. Robisz to, umieszczając swój numer w cudzysłowie i poprzedzając go znakiem równości, np .:

="001145",="55666",="02133"

Najprostszym sposobem na to byłoby zrobić to znaleźć zamień na ,z ",="zastępując końca linii (może trzeba użyć zaawansowanego edytora jak Notepad ++ do tego) z "\r\n="i robi początek i koniec pliku ręcznie.


Fajnie :) Spróbuję to
— powtórzyć

11
  1. Zmień rozszerzenie pliku z „.csv” na „.txt” w pliku, z którym masz problemy.
  2. Otwórz excel sam w sobie. Nie klikaj pliku, aby go otworzyć.
  3. Kliknij „Otwórz”, zmień typy plików, których szukasz, z „Wszystkie pliki Excel” na „Wszystkie pliki”
  4. Znajdź swój plik i kliknij Otwórz. Ponieważ Excel nie formatuje automatycznie txt, przejdzie przez kreatora.
  5. Upewnia się, że przycisk opcji „Rozdzielany” jest zaznaczony. Kliknij przycisk „Dalej”.
  6. Zaznacz pole ogranicznika „przecinek” i naciskaj przycisk „następny”, aż ZOBACZ (ale nie klikaj) przycisk zakończenia.
  7. przewiń każdą kolumnę w arkuszu kalkulacyjnym, zaznacz każdą kolumnę, którą chcesz ręcznie sformatować, i zmień format na „tekst”.
  8. Kliknij przycisk Zakończ.

To dobry, bezproblemowy sposób rozwiązania problemu.
— Jack

Uratowałeś mi dzień!
— dinesh ygv

2

Zainstaluj OpenOffice z Oracle i zrób to samo z formatem CSV OpenOffice i działa.

Miałem ten problem w Windows 7 Pro z Excelem 2010. Kiedyś mogłem kopiować kontakty z Outlooka do Excela, zapisywać jako CSV i importować do Gmaila i Androida (numery telefonów komórkowych z wiodącymi zerami i znakami +).


1

Kliknij prawym przyciskiem myszy na komórkach zawierających dane, i kliknij Formatuj komórki ... pozycji menu. Następnie na pierwszej karcie („Liczba”) zmień kategorię z Ogólne na Tekst . Zapobiegnie to automatycznemu formatowaniu tych komórek jako liczb przez Excela, a tym samym usuwaniu zer wiodących (które są pozbawione znaczenia w kontekście analizy numerycznej, ale bardzo znaczące w przypadku identyfikatorów produktów).

Jeśli dane są importowane i analizowane jako liczby, należy użyć kreatora importu danych i ustawić dla każdego typu kolumny wartość „Tekst” zamiast „Ogólne”. Następnie zrób to samo z komórkami, a następnie zapisz skoroszyt programu Excel.


Pliki CSV nie zachowują formatowania. To nie pomoże.
— Excellll,

@Excellll oczywiście, to tylko kilka znaków ASCII rozdzielonych przecinkami. Domyślnie Excel zaznacza formaty komórek jako Ogólne i próbuje zinterpretować wartość (liczby, daty, cokolwiek), aby można było jej używać z formułami (jak zwykle zwykły tekst nie może). Musisz ręcznie powiedzieć Excelowi, aby interpretował wartość jako zwykły tekst, aby nie konwertował jej automatycznie.
— Przełom

Tak, działałoby, gdyby program Excel nie „automatycznie zapisywał” formatowania pól :( Potrzebuję programu Excel, aby działał w taki sam sposób, jak każdy inny program otwierający CSV / Język programowania.
— Sammaye

Próbowałem tego, Excel domyślnie przywraca go po otwarciu przekonwertowanego pliku Excel. Więc importuję z TXT do Excela i mówię tam, aby wyświetlał się jako tekst, zamykam plik i otwieram go, a Excel domyślnie wraca do formatu liczb dla pól ukrywających ich prawdziwą wartość i jestem z powrotem w sq one.
— Sammaye

@Breakthrough, przepraszam, że nie wyraziłem, co miałem na myśli. Jak powiedziano w komentarzu, po otwarciu pliku CSV w programie Excel program Excel zastosuje formatowanie ogólne do wszystkich danych. W tym momencie tekst (tj. Zera wiodące), który jest faktycznie zapisany w pliku CSV, nie może zostać pobrany przez program Excel. Chodzi o to, że po otwarciu pliku CSV w programie Excel jest już za późno, aby zmienić formatowanie.
— Excellll,

1

kliknij komórkę, w której chcesz zachować początkowe zera, a następnie: kliknij prawym przyciskiem myszy> Formatuj komórki> niestandardowe> 0> wpisz całkowitą liczbę, która musi znajdować się w komórce, na przykład: Jeśli potrzebuję 00001234, wstawię 00000000 jako liczba zer, wszystko, co mówi to do zrobienia, to wstawić całkowitą liczbę 8 do komórki, mam już 1234, więc to nadrobi różnicę 4 kolejnymi zerami wiodącymi.

Używam tego codziennie do importowania arkuszy kalkulacyjnych.


0

Aby dodać do odpowiedzi @ Jona na to pytanie, miałem plik CSV, który miał kilka kolumn z zerami wiodącymi i dłuższymi liczbami, które albo stracą wiodące zero, albo przekonwertują długą liczbę na notację naukową, lub obie, po zaimportowaniu.

Jedynym sposobem, który mogłem naprawić, było sformatowanie wszystkich komórek w pustym arkuszu Text, wykonując następujące czynności:

  1. Wybierz wszystkie komórki w arkuszu:

wprowadź opis zdjęcia tutaj

  1. Zmień format każdej komórki:

wprowadź opis zdjęcia tutaj

Po sformatowaniu wszystkich komórek arkusza, które mają być Text, mógłbym zaimportować plik CSV, wykonując następujące czynności:

  1. Na Datakarcie kliknij From Text:

wprowadź opis zdjęcia tutaj

  1. Wybierz swój .txtlub .csvplik i kliknijImport

  2. Wybierz Delimitedi kliknij `Dalej:

wprowadź opis zdjęcia tutaj

  1. Wybierz odpowiedni separator (wybrałem Comma) i odznacz wszystkie inne, które nie mają zastosowania, a następnie kliknij Next:

wprowadź opis zdjęcia tutaj

  1. Przewiń w prawo, aby znaleźć kolumny, które należy sformatować, Textaby zachować początkowe zera i zapobiec notacji naukowej. Kliknij kolumnę (powinna przyciemnić), a następnie wybierz Textz listy opcji. Pamiętaj, aby zaznaczyć wszystkie kolumny, które muszą być poprawnie sformatowane:

wprowadź opis zdjęcia tutaj

  1. Następnie kliknij Finish. Jeśli przewiniesz do sformatowanych kolumn, zobaczysz, że wszystkie zera wiodące są zachowane, a długie ciągi liczb nie są notowane naukowo.

Mam nadzieję, że to pomaga!


0

Jeśli dane zostały wygenerowane przy użyciu SQL. Powinno działać dodawanie znaku tabulacji do wartości liczbowej, która musi zostać obcięta.

-- Oracle PL/SQL
select "01234567890123456" || chr(9) from dual;
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.