Typ numeru Excel zmienia się z 1,25 na 43125

52

Kiedy otworzę nowy zwykły arkusz Excela (2016), zmień typ komórki na Liczba i wprowadź liczbę 1.25, zmieni ona wprowadzoną liczbę na wartość 43125,00. Otrzymuję podobne wyniki, gdy wchodzę 1.01lub 1.9, ale nie, gdy wchodzę 1.99- jest to traktowane jako tekst lub przynajmniej coś niepoliczalnego jako liczba.

Rozumiem, że muszę używać ,do poprawnego wprowadzania liczb.

Moje pytanie brzmi: co się stanie, gdy podam 1.25numer? Dlaczego dostaję 43125,00?

Croo
źródło
1
Zauważ, że „typ komórki” nie jest typem danych - wpływa tylko na sposób wyświetlania danych, a nie na interpretację danych wejściowych. Wszystkie dane w Excelu są w wariantach.
Luaan

Odpowiedzi:

109

W ustawieniach regionalnych ,jest separatorem dziesiętnym, więc tego właśnie potrzebujesz, aby wprowadzić liczbę. Jeśli użyjesz kropki, dane wejściowe będą interpretowane jako coś innego niż liczba; co to zależy od treści.

Jeśli wpisana data może być prawidłową datą, kropka jest interpretowana jako separator daty. Excel uważa, że ​​1,25 to data (25 stycznia 2018 r.), Która jest wewnętrznie reprezentowana jako 43125 (liczba dni od 0 stycznia 1900 r.).

Ponieważ komórkę sformatowano jako liczbę, a nie datę, wyświetlana jest numeryczna reprezentacja daty. Domyślne miejsca dziesiętne są ustawione na dwa, co daje zera na końcu. To czysty przypadek, że wzorzec „125” powtarza się w liczbie dni reprezentujących tę datę.

Zarówno 1.01, jak i 1.9 mogą być datami, więc to samo dzieje się z nimi. Ale 1,99 nie może być datą, więc wpisana wartość jest zapisywana jako tekst.

fixer1234
źródło
5
Jest to denerwujące w programie Excel. Pracuję, dodając pojedynczy znak mowy przed liczbą, więc „1,25” staje się „1,25” i na szczęście program Excel traktuje to jako liczbę.
Kevin Anthony Oppegaard Rose
19
@KevinAnthonyOppegaardRose: w tym pytaniu separatorem dziesiętnym jest ,, jeśli chcesz wprowadzić liczby, musisz użyć separatora dziesiętnego. Jeśli użyjesz innych znaków, Excel zinterpretuje to w inny sposób.
Máté Juhász
21
@KevinAnthonyOppegaardRose Znak mowy jest sposobem, aby Excel traktował wszystko jako tekst, więc tak naprawdę nie traktuje go jako liczby, ale jako tekst, a po „możesz napisać cokolwiek, a Excel nie będzie próbował interpretować ani konwertować
fernando.reyes
24
i nazywa się to apostrof btw
phuclv
2
@EricDuminil Więc uważasz, że to głupie, że Excel zgaduje typy, i chcesz to rozwiązać, mając Excel jeszcze więcej zgadnięć? Co może pójść nie tak :) To z pewnością dziwne, że nie zachowuje jednego typu nawet w kolumnie tabeli, ale prawda jest taka - czy widziałeś, jak ludzie używają Excela? W końcu „zachowuje się tak samo we wszystkich kontekstach” jest co najmniej spójne . Problem OP polega w 100% na tym, że nie używają formatu liczb lokalnych - czy naprawdę próbujesz powiedzieć, że Excel nie powinien oczekiwać, że ludzie będą używać formatów lokalnych (itd.)?
Luaan
3

Po przeczytaniu komentarzy zrozumiałem, że mechanizm problemu jest bardziej skomplikowany, niż myślałem. Po pierwsze, separatorem dziesiętnym jest przecinek, a nie kropka. Po drugie, Excel klasyfikuje wartość wejściową jako wartość „data”, ale reprezentuje ją przy użyciu formatu „liczby”.

Jednym z rozwiązań tego problemu jest wysłana zmienić separator dziesiętny, a można to zrobić z Excel Options -> Advanced -> Editing options -> Decimal separator. Jeśli zostanie to naprawione, program Excel nie sklasyfikowałby wartości wejściowej jako wartości „data”.

Separator dziesiętny nie jest czymś, co od razu bym rozważył, ponieważ kto użyłby przecinka jako separatora dziesiętnego? A jednak, co ciekawe i zaskakujące, połowa świata faktycznie z niego korzysta ( https://en.wikipedia.org/wiki/Decimal_separator ).

Rozpoznałem jednak 43125wartość „daty” w postaci liczbowej. Gdybyśmy usunęli problem dotyczący separatora dziesiętnego, byłby podobny przykład 1-25, który Excel interpretowałby jako wartość „data” i podaje w formacie „liczby” 45658.00. Więcej złudzenia, że Excel pozwala niestandardowych formatów tak, że wartość „data” może pojawić się jako 1.25albo 1,25czy jakakolwiek inna forma.

Użyłem wielu wartości „data” w arkuszach kalkulacyjnych do obliczeń i mogą być denerwujące. Czasami, gdy ponownie otwieram te arkusze kalkulacyjne, Excel (lub Openoffice) myśli, że wie lepiej i automatycznie przekonwertuje te kolumny dat z formatu „data” na format „liczba” bez żadnego powodu. W takich sytuacjach right-click mouse -> Format Cells -> Numberzresetowanie do prawidłowego formatu komórek / kolumn spowoduje odzyskanie danych.

wtong
źródło
Nie. Jest to zautomatyzowany proces w programie Excel. Zobacz odpowiedź od fixer1234
Kevin Anthony Oppegaard Rose
1
Excel uważa, że ​​dane wejściowe to „data” i automatycznie zmienia format liczb na „data”. Podałem tutaj sposób, aby „powiedzieć” Excelowi, że wejście jest „liczbą” i naprawić format na poprawny.
wtong
1
Nie zgadzam się, że w pierwszym akapicie brakuje tego, co się dzieje. To wydaje się być skargą, podobnie jak komentarz Erica Duminila . Większość z nas zgodzi się, że po wpisaniu czegoś w pustej komórce sformatowanej jako „Ogólne” program Excel powinien postarać się jak najlepiej zrozumieć, co oznaczają dane wejściowe. Ale istnieje szkoła myślenia, że ​​kiedy wpisujesz coś w pustej komórce sformatowanej jako „Liczba”, Excel powinien starać się zinterpretować te dane wejściowe jako liczbę. … (Ciąg dalszy)
Scott
(Ciąg dalszy)… Można argumentować, że zmiana implementacji teraz wszystko zepsuje. Z drugiej strony obecne wdrożenie nie jest wyraźnie spójne. Na przykład w moim systemie angielskim (Stany Zjednoczone), jeśli wpisuję 10-2lub 10/2w komórce sformatowanej jako „Ogólne”, otrzymuję „2-paź”. Zrób to samo z komórką sformatowaną jako „Liczba”, która 10-2da mi „43375.00” (wartość liczbowa „2-paź-2018”), ale 10/2da mi „5.00”. … (Ciąg dalszy)
Scott
1
@JKreft Myślę, że Excel robi wszystko, tylko jeśli wybierzesz określoną kategorię, a następnie wstawisz niepoprawną wartość. Tak więc Excel gryzie cię w dupę, jeśli popełnisz błąd. Zgadywanie, co użytkownik rozumiał na podstawie nieprawidłowych danych wejściowych, jest po prostu bardzo trudne.
Voo,