OOo calc számformátum változtatás bug?

Fórumok

Új táblázat létrehoz, cellába 12,34 beír, format -> cells... felhozza a számformátum beállítását, nyelvet megváltoztatni németországi németre, Ok, és hopp, a cella tartalma átváltozik '12,34-re. Vagyis csak úgy odatesz egy aposztrófot a cella tartalma elejére, aminek következtében persze nem tudja a cella tartalmát számként értelmezni. Miért csinálja ezt? Másnak is? Mit lehet tenni ellene (kézzel kitörlés nyilván nem opció, sok ilyen cellám van).

Ubuntu 9.04-féle OpenOffice.org Calc (3.0.1).

Hozzászólások

3.1-es Gentoo sem csinálja.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

OOo 3.0.1 (Xubuntu 9.04) nem csinálja.

Kösz, hogy vettétek a fáradtságot, de jól megnéztétek? (;
Most volt érkezésem jobban utánanézni, és ezen upstream bug report szerint 1.1-től 3.1-ig odakerül az a bizonyos aposztróf. Ami igazán szívás, hogy a Find & Replace nem találja meg ezeket az aposztrófokat, szóval nem lehet egycsapásra megszabadulni tőlük.

szerk.: OK, fogalmazhattam volna részletesebben is. A formátum változtatása után odakerülő aposztróf a cellában magában nem látszik, de a cellára kattintva az input line-ban igen. Továbbá a cellával nem lehet számolni, és a tartalma balra igazítottan jelenik meg (a számot tartalmazó cellák defaultból jbbra igazítottak).

Te akkor a formátumot átállítottad szövegre a szám formátumról, így természetes a váltás. Én csak a nyelvet állítottam át ott ez nem történt meg.
Azt nem is merném megkérdezni minek a szám formátumot németre átállítani, mert az a kérdés merülne fel, hogy milyen OOo nyelvi beállításnál, milyen nyelvű ubuntun, történik mindez.

"Te akkor a formátumot átállítottad szövegre a szám formátumról, így természetes a váltás."

Ok, akkor próbálok még pontosítani: nem a szám formátumát változtattam meg, hanem a szám nyelvét ("General" formátum, a nyelvet pedig "Default"-ról "German (Germany)"-ra). Viszont semmiféle szövegformátumot illetve szöveg nyelvet nem változtattam.

"minek a szám formátumot németre átállítani"

Hirtelen lett egy halom CSV-m német forrásból, vagyis olyan számokkal, ahol a tizedesjegyeket vesszővel választják el az egészektől. A Calc ezt alapból -- lehet, hogy a rendszer nyelvi beállításaitól függően, lásd alant -- nem számként kezeli, nem lehet vele számolni, nekem meg kell.

"milyen OOo nyelvi beállításnál, milyen nyelvű ubuntun, történik mindez."

Ubuntu angol, OOo user interface, locale setting, etc. "Default".

Az angol beállításnál a tizedes pont az elválasztó, a németnél és a magyarnál a tizedes vessző.
A kettő között a konverziót egy menetben nem lehet elkövetni, csak a nyelvi beállítással lehet ezt megtenni, akkor automatikusan megtörténik, tehát nem kell konvertálni, így kell eljárni a csv importnál is.
Ha német csv fájlod van az import idejére állítsd be az OOo területi beállításait németre, mentsd el. Állítsd vissza angolra, OOo újraindítás után, ha úgy akarod vagy kell használni.

> Vagy a leírás végrehajtásában.

Szerinted ennek a végrehajtásában mit lehet elrontani?

"Új táblázat létrehoz, cellába 12,34 beír, format -> cells... felhozza a számformátum beállítását, nyelvet megváltoztatni németországi németre,"

Pld az lehet az eltérő viselkedés oka, hogy nem hozok létre új táblázatot, hanem a calc indulásakor létrejött üres táblázatot használom?

Nem tudom, de sok van, mi csodálatos. Mindenesetre az upstream bugreport mutatja, hogy a probléma nem csak az én esetemben jelentkezik, és elég régóta létezik.

szerk.: nem, Windowson én is frissen indított OOo Calc-cal teszteltem.

szerk2.: inkább az eltérő nyelvi beállításokra tippelek, de magyar OOo-val tesztelésén még dolgozok.

Közben megnéztem angol OOo-ban is, erre már rá lehet fogni, hogy produkálja az általad említett jelenséget.

Az "12,34" begépelésével egy szöveg tartalmú mező keletkezik, ami a német nyelvre állítást követően is szöveg marad. (Emlékeim szerint az excel is pont így viselkedik.)

Ha angol környezetben az 12,34 egy szöveg tartalmú mezőbe kerül, akkor Format -> Cells által feldobott dialógusablak miért a szám kategóriát mutatja? Továbbá attól még, hogy eredetileg ez szöveg volt, a formátum és/vagy nyelv megváltoztatása miért változtatja meg a cella tartalmát? Végül pedig: Find & Replace miért nem találja meg ezeket az aposztrófokat?

> Format -> Cells által feldobott dialógusablak miért a szám kategóriát mutatja?

Gondolom azt szokás a legtöbbször átállítani.

> a formátum és/vagy nyelv megváltoztatása miért változtatja meg a cella tartalmát?

Nem változtatja meg a tartalmát. Szöveg volt, szöveg maradt. Az aposztróf azért kerül bele a kijelzésbe, hogy egyértelmű legyen: a számnak kinéző betűsorozat szövegként lesz kezelve.

> Find & Replace miért nem találja meg ezeket az aposztrófokat?

Mert nem része a cella tartalmának.

A tizedes pontot (vesszőt) viszont megtalálja. Szóval a teendő az, hogy az angol cellába beírt "12,34"-ben először le kell cserélni a ','-t '.'-ra, ezzel a cella tartalma számmá alakul át, majd ezután megváltoztatni a cella nyelvét németre.

"Gondolom azt szokás a legtöbbször átállítani."

És tényleg. Cellába foobarbaz beír, format -> cells, és a szám kategóriát mutatja.

"Nem változtatja meg a tartalmát. Szöveg volt, szöveg maradt. Az aposztróf azért kerül bele a kijelzésbe, hogy egyértelmű legyen: a számnak kinéző betűsorozat szövegként lesz kezelve."

Öh, hümm... oké, mondjuk azt, hogy elfogadom, hogy így van. Ezesetben két kérdés merül fel bennem: hol tudom megnézni, hogy egy adott cella milyen formátumú (szöveg, szám, dátum, akármi), illetve hogyan tudom ezt megváltoztatni (123 szövegből számot csinálni)? Tartok tőle, hogy triviális, és majd' kiveri a szememet, de egyszerűen nem találom (;

"A tizedes pontot (vesszőt) viszont megtalálja. Szóval a teendő az, hogy az angol cellába beírt "12,34"-ben először le kell cserélni a ','-t '.'-ra, ezzel a cella tartalma számmá alakul át"

A többi cellákban lévő szöveg is tartalmaz vesszőket, amiket viszont nem kellene megváltoztatni. Majd mindjárt meglátom, hogy lehet-e a find&replace-t egyes oszlopokra korlátozni, aztán ha lehet, akkor örvendezek.
szerk.: lehet, öröm-bódottá.

> hol tudom megnézni, hogy egy adott cella milyen formátumú

Nem sokat használtam, ezért csak gyanítom hogy sehol, de függvény az van rá, pld: CELL("FORMAT",A1)

> 123 szövegből számot csinálni

Röviden: hozzá kell adni 0-át :-) Ami meg nem szöveg, azt a formátum változtatással (pld számból dátumot).

> A többi cellákban lévő szöveg is tartalmaz vesszőket, amiket viszont nem kellene megváltoztatni.

Akkor esetleg jobb nyelvi beállításokkal csinálni: http://hup.hu/node/71595#comment-782272

Na:

$ LANG=en_US.UTF-8 openoffice.org, táblázatkezelő kiválaszt, új táblázatba 12,34 beír, adott cella kiválaszt, Format -> Cells..., nyelvet átváltoztatni németországi németre vagy magyarra (vagy ki tudja még mire, ami vesszővel választja el a tizedesjegyeket), OK, és ott az aposztróf.

Alternatívaként, megtartva a magyar nyelvi beállításokat: táblázatba 12.34 beír, cella kiválaszt, Format -> Cells, nyelvet átváltoztatni pl. amerikai angolra, OK, és ott az aposztróf.

Nekem windows alatt is csinálja, nem piszkálja el a formátumot (marad szám, csak nyelv lesz ugye más) és ott az aposztróf, de én úgy vettem észre hogy csak az első mezőt rontja el ha többet állítasz át egyszerre. IMHO nem olyan nagy ezzel a buggal együtt élni.

No rainbow, no sugar