Tabela przestawna programu Excel 2013 odmawiająca podsumowania identycznych wartości - zwraca zduplikowane wyniki. Czemu?


0

Podczas budowania prostej tabeli przestawnej w programie Excel napotkałem dziwny problem. Oto moje dane: Stworzyłem prostą tabelę z kolumną C zawierającą wartości w A podzielone przez wartości z B. Wstawiłem formułę do kolumny D, żeby była krystalicznie czysta.

wprowadź opis zdjęcia tutaj

Oto dziwna rzecz - kiedy buduję tabelę przestawną z kolumny C, otrzymuję dwie wersje liczby 6:

wprowadź opis zdjęcia tutaj

To jest szalone! Dlaczego Excel nie agregował obu „wersji” liczby 6 w jednym wierszu? Zrobiłem kilka dalszych testów: isnumber () zwraca true dla obu 6s, a nawet test równoważności (= „ 1st 6 ” = „ 2nd 6 ”) również zwraca true! Dlaczego Excel nie podsumowuje tych samych wartości w tabeli przestawnej?

Zgaduję, że ma to coś wspólnego z zwracaniem liczby zmiennoprzecinkowej w wersji 1.2 / 0.2 i zwracaniem liczby całkowitej (co może się zdarzyć w pythonie), ale w Excelu nie ma nic, co by mi mówiło, z którymi typami danych mam do czynienia. Być może błąd zaokrąglenia? A jeśli dwie szóstki nie są takie same, dlaczego mój test równoważności zwraca wartość prawda?

Jeśli przekonwertuję dwie liczby szóste na liczby całkowite, wówczas tabela przestawna zwróci oczekiwane wyniki. Jednak nie sądzę, że powinienem to zrobić, a większość użytkowników nie spodziewałaby się tego. Co tu się dzieje? Oczekiwane zachowanie lub błąd?


więc masz już odpowiedź, jest ona związana z zaokrąglaniem (może 1,2 / 0,2 jest 6.0..01, ale jest wyświetlana jako 6i również zaokrąglana, gdy wykonujesz z nią jakiekolwiek obliczenia. Granicą jest błąd, ale nie sądzę, że możemy to zapewnić wszelkie dodatkowe informacje tutaj, ponieważ Microsoft może naprawdę odpowiedzieć na twoje pytanie
Máté Juhász

Odpowiedzi:


1

Jeśli konwertujesz kolumnę C na liczbę całkowitą za pomocą INTfunkcji, tabela przestawna generuje zgodnie z oczekiwaniami. Jest to problem zmiennoprzecinkowy.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


Dzięki. Mylące jest to, że Excel „zakrywa” niektóre problemy z zaokrąglaniem (dlatego zwraca PRAWDA, gdy zostanie zapytany, czy jedno 6 = drugie). Jeśli ocenisz = INT (1,2 / 0,2) w arkuszu kalkulacyjnym, otrzymasz „6”. Spróbuj tego jednak w oknie natychmiastowym (? INT (1.2 / 0.2)), a zwróci 5. W skrócie, Excel nie radzi sobie z tym dziwactwem szczególnie wdzięcznie i nie daje żadnych wskazówek dla użytkownika, co się dzieje .
JT_Edin
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.