Time Code a Calc-ban
Time Code a Calc-ban
Sziasztok!
Egyetlen dolgot nem tudok megoldani a Calc segítségével. Kaptam már ötletet, de ahhoz külső szoftver is kellett, azonban úgy gondolom, nem lehet annyira bonyolult a probléma, hogy ne lehessen megoldani a LO segítségével és csak rajtam fog ki a dolog.
Adott egy oszlop, amiben Time Code van. Ez a következő formátumú HH:MM:SS -óra, perc, másodperc.
Doc-ban kapom az anyagot, amit átviszek a Calc-ba és itt jön a probléma. Az egyik oszlop (mondjuk az A) tartalmazza a time code-ot, de csak HH:MM:SS formában és itt kellene nekem a megoldás, hogy az oszlopban lévő mindegyik sorban szereplő időkód elé be szeretnék illeszteni egy 00: értéket. Egyesével meg tudom csinálni, de van eset, hogy akár több ezer sort is át kell írni. Ezt szeretném automatizálni.
A könnyebb érthetőség kedvéért mellékelek egy rövid videót is a kívánt folyamatról.
példa
Egyetlen dolgot nem tudok megoldani a Calc segítségével. Kaptam már ötletet, de ahhoz külső szoftver is kellett, azonban úgy gondolom, nem lehet annyira bonyolult a probléma, hogy ne lehessen megoldani a LO segítségével és csak rajtam fog ki a dolog.
Adott egy oszlop, amiben Time Code van. Ez a következő formátumú HH:MM:SS -óra, perc, másodperc.
Doc-ban kapom az anyagot, amit átviszek a Calc-ba és itt jön a probléma. Az egyik oszlop (mondjuk az A) tartalmazza a time code-ot, de csak HH:MM:SS formában és itt kellene nekem a megoldás, hogy az oszlopban lévő mindegyik sorban szereplő időkód elé be szeretnék illeszteni egy 00: értéket. Egyesével meg tudom csinálni, de van eset, hogy akár több ezer sort is át kell írni. Ezt szeretném automatizálni.
A könnyebb érthetőség kedvéért mellékelek egy rövid videót is a kívánt folyamatról.
példa
Verzió: 3.6.0.4 (Win7)
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Alapvetően ketté kell választani a problémát annak a függvényében, hogy mit akarsz kezdeni az eredménnyel.
Ahogy a belinkelt videón is látszik, a kiindulási adatok automatikusan jobbra rendezettek, azaz valódi (számértékkel rendelkező) IDŐ adatokról van szó. A
00:
beszúrása az adatok elé azt eredményezi, hogy a számításhoz is használható adatokból "buta" szövegadatok válnak. (00:00:00:00 Ilyen alapértelmezett Dátum-Idő formátum tudtommal nem létezik, ezért nem tudja annak értelmezni a Calc. Inkább átalakítja egyszerű szöveggé (string).
(én sem tudom, mit jelent az újabb két nulla, felvilágosítanál?...)
Ha ez a kimeneti formátum megfelel neked, akkor a következőket kell tenned a keresés és csere előtt:
1.: Kijelölöd azt az oszlopot, amelyben a HH:MM:SS formátumú adatok vannak.
2.: Kivágod az összes ilyen adatot, majd formázatlan szövegként visszailleszted. Ekkor már automatikusan jobbra rendezett lesz, azaz már nem Dátum-Idő számértéket reprezentál, hanem számjegyek és kettőspontok sorozata csupán.
3.: Most jön a Keresés és csere funkció kicsit speciálisabb módon történő használata:
Megint kijelölöd azt az oszlopot, amelyik a kiegészíteni kívánt stringeket tartalmazza.
4.: Bekapcsolod a reguláris kifejezések használatát,
5.: A "Keresés" mezőbe beírod az alábbi kifejezést:
6.: A "Csere" mezőbe pedig a
kifejezést.
7.: Bekapcsolod még a "Keresés csak az aktuális kijelölésben" opciót, aztán a "Mindet cseréli" gombra kattintasz.
Érdemes elolvasni a súgóban és egyéb leírásokban a "Reguláris kifejezések használata" című részt...
Ha viszont neked valamiféle számításhoz (akár csak egy egyszerű különbségképzéshez is) a későbbiekben szükséged van az időkódok számértékére is, akkor máshogy kell eljárnod, de arra egyelőre nincs ötletem... (mert nem tudom, hogy mit jelent a beszúrt két karakter...)
Ahogy a belinkelt videón is látszik, a kiindulási adatok automatikusan jobbra rendezettek, azaz valódi (számértékkel rendelkező) IDŐ adatokról van szó. A
00:
beszúrása az adatok elé azt eredményezi, hogy a számításhoz is használható adatokból "buta" szövegadatok válnak. (00:00:00:00 Ilyen alapértelmezett Dátum-Idő formátum tudtommal nem létezik, ezért nem tudja annak értelmezni a Calc. Inkább átalakítja egyszerű szöveggé (string).
(én sem tudom, mit jelent az újabb két nulla, felvilágosítanál?...)
Ha ez a kimeneti formátum megfelel neked, akkor a következőket kell tenned a keresés és csere előtt:
1.: Kijelölöd azt az oszlopot, amelyben a HH:MM:SS formátumú adatok vannak.
2.: Kivágod az összes ilyen adatot, majd formázatlan szövegként visszailleszted. Ekkor már automatikusan jobbra rendezett lesz, azaz már nem Dátum-Idő számértéket reprezentál, hanem számjegyek és kettőspontok sorozata csupán.
3.: Most jön a Keresés és csere funkció kicsit speciálisabb módon történő használata:
Megint kijelölöd azt az oszlopot, amelyik a kiegészíteni kívánt stringeket tartalmazza.
4.: Bekapcsolod a reguláris kifejezések használatát,
5.: A "Keresés" mezőbe beírod az alábbi kifejezést:
Kód: Egész kijelölése
.+
Kód: Egész kijelölése
00:&
7.: Bekapcsolod még a "Keresés csak az aktuális kijelölésben" opciót, aztán a "Mindet cseréli" gombra kattintasz.
Érdemes elolvasni a súgóban és egyéb leírásokban a "Reguláris kifejezések használata" című részt...
Ha viszont neked valamiféle számításhoz (akár csak egy egyszerű különbségképzéshez is) a későbbiekben szükséged van az időkódok számértékére is, akkor máshogy kell eljárnod, de arra egyelőre nincs ötletem... (mert nem tudom, hogy mit jelent a beszúrt két karakter...)
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: Time Code a Calc-ban
Üdv!
A videóban szereplő táblát kiegészíteném egy plusz oszloppal (itt legyen ez a B oszlop).
B1 cellába írd a következő képletet:
Aztán kitöltés lefelé (Cella jobb alsó sarka fölött az egérmutató kis keresztté változik, majd két klikk.)
Mint ahogy Zizi64 is írta, így szöveggé fog alakulni a számod.
Anti
A videóban szereplő táblát kiegészíteném egy plusz oszloppal (itt legyen ez a B oszlop).
B1 cellába írd a következő képletet:
Kód: Egész kijelölése
Angol függvénynevekkel:
=CONCATENATE("00:";TEXT(A1;"HH:MM:SS"))
Magyar fügvénynevekkel:
=ÖSSZEFŰZ("00:";SZÖVEG(A1;"HH:MM:SS"))
Mint ahogy Zizi64 is írta, így szöveggé fog alakulni a számod.
Anti
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Utána olvastam ennek a Timecode dolognak. Ha jól értelmezem, neked valamiféle média-stream kereteit (frame) kellene jelölnöd azzal a bizonyos hozzáadott karaktersorral.
Valós számértékként ez esetben is nehéz lesz kezelni az adatot, mert többféle frame/secundum érték létezik. Például a 30 fps értéknél a
00:00:00:29 érték után következik a
00:00:01:00 érték
Tehát az időkód formátuma, ha jól gondolom: "HH:MM:SS:FF".
Ebből azt is gondolom, hogy neked talán nem is az elejére, hanem a végére kellene beilleszteni azt a ":00" értéket - a frame értéket - hiszen a te leírásodban a "HH:MM:SS értékek léteztek, és az ":FF" nem. Ilyen "időformátumot tudtommal nem ismer az OpenOffoce/LibreOffice, hiszen mindig tudatni kéne a programmal azt is, hogy hány frame után kell váltania a másodperceket, és nullázni az ":FF" paramétert.
Vagy te a "DD:" Napok" paramétert akarod hozzáadni az órák-percek-másodpercek formátumhoz? Ez esetben gond nélkül működhet számértékként a LO Dátum-idő számábrázolása, és műveleteket is lehet így végezni vele.
Ebből az is következik, hogy SEMMIFÉLE hozzáfűzést nem kell végezned, csak megadni egy egyéni Dátumidő formátumot és azzal formázni az adataidat:
"DD:HH:MM:SS"
Azzal a megkötéssel persze, hogy a Dátumidő formátumokban 00 óra létezik, a hónap 00-adik napja viszont NEM! Tehát csak a nap (DD) helyiérték csak a 01 - 31 (28, 29, 30) végértékeket veheti fel. Ezzel szemben a Dátumidő-különbség LEHETNE akár 00 nap és valamennyi óra-perc-másodperc is.
Továbbá figyelembe kell venned a Dátumidő formátumok egyéb jellegzetességét is: Két azonos, megegyező dátumidő különbsége egyszerű Számértékként ábrázolva ugyan nullával egyenlő, de ez Dátumidőként ábrázolva 1899-12-30 00:00:00 -at ad eredményül. Ez az alapdátum. Ez a LO programban három eltérő érték közül megválasztható, de az itt közölt az alapértelmezett érték.
Valós számértékként ez esetben is nehéz lesz kezelni az adatot, mert többféle frame/secundum érték létezik. Például a 30 fps értéknél a
00:00:00:29 érték után következik a
00:00:01:00 érték
Tehát az időkód formátuma, ha jól gondolom: "HH:MM:SS:FF".
Ebből azt is gondolom, hogy neked talán nem is az elejére, hanem a végére kellene beilleszteni azt a ":00" értéket - a frame értéket - hiszen a te leírásodban a "HH:MM:SS értékek léteztek, és az ":FF" nem. Ilyen "időformátumot tudtommal nem ismer az OpenOffoce/LibreOffice, hiszen mindig tudatni kéne a programmal azt is, hogy hány frame után kell váltania a másodperceket, és nullázni az ":FF" paramétert.
Vagy te a "DD:" Napok" paramétert akarod hozzáadni az órák-percek-másodpercek formátumhoz? Ez esetben gond nélkül működhet számértékként a LO Dátum-idő számábrázolása, és műveleteket is lehet így végezni vele.
Ebből az is következik, hogy SEMMIFÉLE hozzáfűzést nem kell végezned, csak megadni egy egyéni Dátumidő formátumot és azzal formázni az adataidat:
"DD:HH:MM:SS"
Azzal a megkötéssel persze, hogy a Dátumidő formátumokban 00 óra létezik, a hónap 00-adik napja viszont NEM! Tehát csak a nap (DD) helyiérték csak a 01 - 31 (28, 29, 30) végértékeket veheti fel. Ezzel szemben a Dátumidő-különbség LEHETNE akár 00 nap és valamennyi óra-perc-másodperc is.
Továbbá figyelembe kell venned a Dátumidő formátumok egyéb jellegzetességét is: Két azonos, megegyező dátumidő különbsége egyszerű Számértékként ábrázolva ugyan nullával egyenlő, de ez Dátumidőként ábrázolva 1899-12-30 00:00:00 -at ad eredményül. Ez az alapdátum. Ez a LO programban három eltérő érték közül megválasztható, de az itt közölt az alapértelmezett érték.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: Time Code a Calc-ban
Sziasztok!
Köszönöm az ötleteket és javaslatokat. Mindet végig gondoltam.
Igen, valóban ún. videós time code-ról van szó, ami esetünkben (PAL) 25 kocka/másodperc. Nem akarok műveleteket végezni az oszlopok értékei között, csupán megjeleníteni azokat, mert ha készen van a táblázat, csv-be kell elmenteni, hogy az alkalmazás (Nuendo5.x) értelmezni tudja, de ez csak akkor megy, ha HH:MM:SS:FF formátumú a TC (Time Code).
Még az is bonyolítja a dolgot, hogy a beillesztett szöveg nem egységes, van hogy csak a MM:SS értéket tartalmazza, mint most is és van amikor ennél több információt, de az "ÖSSZEFŰZ" függvénnyel ez remekül orvosolható, köszönet érte. Az útmutatás alapján arra jutottam, hogy az a leg egyszerűbb, ha a TC-os szlopok szöveges formázást kapnak, így nem lesz galiba. Nagyon hasznosak voltak a tanácsok, minden remekül működik, azonban felmerült egy újabb ötlet, amit igyekszem még ma megfogalmazni és kérdés formájában elétek tárni, talán azzal kapcsolatban is lesz tanácsotok.
Köszönöm az ötleteket és javaslatokat. Mindet végig gondoltam.

Igen, valóban ún. videós time code-ról van szó, ami esetünkben (PAL) 25 kocka/másodperc. Nem akarok műveleteket végezni az oszlopok értékei között, csupán megjeleníteni azokat, mert ha készen van a táblázat, csv-be kell elmenteni, hogy az alkalmazás (Nuendo5.x) értelmezni tudja, de ez csak akkor megy, ha HH:MM:SS:FF formátumú a TC (Time Code).
Még az is bonyolítja a dolgot, hogy a beillesztett szöveg nem egységes, van hogy csak a MM:SS értéket tartalmazza, mint most is és van amikor ennél több információt, de az "ÖSSZEFŰZ" függvénnyel ez remekül orvosolható, köszönet érte. Az útmutatás alapján arra jutottam, hogy az a leg egyszerűbb, ha a TC-os szlopok szöveges formázást kapnak, így nem lesz galiba. Nagyon hasznosak voltak a tanácsok, minden remekül működik, azonban felmerült egy újabb ötlet, amit igyekszem még ma megfogalmazni és kérdés formájában elétek tárni, talán azzal kapcsolatban is lesz tanácsotok.
Verzió: 3.6.0.4 (Win7)
Re: Time Code a Calc-ban
Nagyon jó tanácsokat adtatok, majdnem jól működik a dolog, azóta is használom és közben merült fel egy dolog, már csak egy problémát kellene megoldanom, hogy gyors és hatékony legyen az adatbevitel.
Az "ÖSSZEFŰZ" függvényben van olyan lehetőség, hogy meg lehet adni egy karaktersor hányadik eleme után illesszen be például egy új karaktert? Hasonlóan gondoltam, mint a "CSERE" szövegfüggyvény esetén, csak itt nem kicserélni kellene karaktereket, hanem beszúrni a második után egy :-t. Tehát azt szeretném, hogy például a 0128-ból, 01:28 vagy 00:01:28:00 legyen. Ennek leginkább kényelmi okai lennének, mert rengeteg kódot kell begépelni és a : is lassítja a bevitelt. Tökéletesen megfelel a celláknak a szöveg formázás, mert a kész táblázatot utána *.CSV-ben kell elmentenem.
Olyan megoldás van esetleg a "Ha" függvénnyel, hogy ha 4 vagy 8 karakter szerepel a cellában, akkor a második, a negyedik és a hatodik után tegyen be egy :-t?
Tehát ha ezt adom meg értéknek (szöveg): 00000002 akkor ez legyen belőle (szöveg): 00:00:00:02
Remélem érthetően fogalmaztam.
Az "ÖSSZEFŰZ" függvényben van olyan lehetőség, hogy meg lehet adni egy karaktersor hányadik eleme után illesszen be például egy új karaktert? Hasonlóan gondoltam, mint a "CSERE" szövegfüggyvény esetén, csak itt nem kicserélni kellene karaktereket, hanem beszúrni a második után egy :-t. Tehát azt szeretném, hogy például a 0128-ból, 01:28 vagy 00:01:28:00 legyen. Ennek leginkább kényelmi okai lennének, mert rengeteg kódot kell begépelni és a : is lassítja a bevitelt. Tökéletesen megfelel a celláknak a szöveg formázás, mert a kész táblázatot utána *.CSV-ben kell elmentenem.
Olyan megoldás van esetleg a "Ha" függvénnyel, hogy ha 4 vagy 8 karakter szerepel a cellában, akkor a második, a negyedik és a hatodik után tegyen be egy :-t?
Tehát ha ezt adom meg értéknek (szöveg): 00000002 akkor ez legyen belőle (szöveg): 00:00:00:02
Remélem érthetően fogalmaztam.
Verzió: 3.6.0.4 (Win7)
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Keresés és csere, "Reguláris kifejezések" opcióval az egész módosítandó tartományra alkalmazva
Kiindulás:
1228
Először beírod hogy
Keresés (számjegyek megkeresése kettesével):
Csere (Tegye is vissza, be minden két számjegy mögé tegyen kettőspontot:
Részeredmény:
1228 -> 12:28:
Ez nálam azzal is jár, hogy felismeri az idő formátumot és "ráadásul és önhatalmúlag" hozzáteszi a záró "00"-t
Tehát eddig az eredmény:
1228 -> 12:28: -> 12:28:00 (valódi idő-formátum)
Ezután beírod hogy
Keresés (első számjegy megkeresése):
Csere (tegye is vissza, de elé rakjon egy "00:" sztringet):
Tehát az eredmény:
1228 -> 12:28: -> 12:28:00 (valódi idő-formátum) -> 00:12:28:00 (de már szöveg-formátumban)
Ha pedig még jobban akarsz egyszerűsíteni a dolgodon, akkor mindezt felveheted egy makróba, és akkor egyetlen gombnyomással tudod korrigálni a hasonló fájljaidat...
Kiindulás:
1228
Először beírod hogy
Keresés (számjegyek megkeresése kettesével):
Kód: Egész kijelölése
[:digit:]{2}
Kód: Egész kijelölése
&:
1228 -> 12:28:
Ez nálam azzal is jár, hogy felismeri az idő formátumot és "ráadásul és önhatalmúlag" hozzáteszi a záró "00"-t
Tehát eddig az eredmény:
1228 -> 12:28: -> 12:28:00 (valódi idő-formátum)
Ezután beírod hogy
Keresés (első számjegy megkeresése):
Kód: Egész kijelölése
^[:digit:]{1}
Kód: Egész kijelölése
00:&
1228 -> 12:28: -> 12:28:00 (valódi idő-formátum) -> 00:12:28:00 (de már szöveg-formátumban)
Ha pedig még jobban akarsz egyszerűsíteni a dolgodon, akkor mindezt felveheted egy makróba, és akkor egyetlen gombnyomással tudod korrigálni a hasonló fájljaidat...
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: Time Code a Calc-ban
Nagyon jó, bizonyos feltételekkel sikerül is, de hiába állítom át a folyamat kezdetekor szövegre a cellaformázást, miután végig futtatom, folyton ez lesz a vége: 00:01:29
Ez azonban csak akkor igaz, ha 0-val kezdődik az adat, márpedig a 10. percig szükség van a nullára, különben a végeredmény nem lesz jó formai okok miatt. (pl.: 00:01:29:00 ami beütéskor 0129).
Hogyan tudja a nulla így összekavarni? De ami lényegesebb kérdés, hogyan tudom elkerülni a problémát?
Ez azonban csak akkor igaz, ha 0-val kezdődik az adat, márpedig a 10. percig szükség van a nullára, különben a végeredmény nem lesz jó formai okok miatt. (pl.: 00:01:29:00 ami beütéskor 0129).
Hogyan tudja a nulla így összekavarni? De ami lényegesebb kérdés, hogyan tudom elkerülni a problémát?

Verzió: 3.6.0.4 (Win7)
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Ha feltöltöd a te példafájlodat megnézem a beállításokat...
Én formázatlan (alapértelmezett formázású) cellán hajtottam végre "Keresés és cserét" és a leírt végeredményt kaptam.
És valószínűleg ezért történhetett ez is:
Én formázatlan (alapértelmezett formázású) cellán hajtottam végre "Keresés és cserét" és a leírt végeredményt kaptam.
És valószínűleg ezért történhetett ez is:
Ha te már előre szövegesre formázod a cellát, akkor valószínűleg nem erőlteti az IDŐ formátum felismerését a program...Részeredmény:
1228 -> 12:28:
Ez nálam azzal is jár, hogy felismeri az idő formátumot és "ráadásul és önhatalmúlag" hozzáteszi a záró "00"-t
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: Time Code a Calc-ban
Azért formázom "szövegesre" mert különben ha alap formázáson ütöm be pl. a 0129 értéket, a nullát lehagyja az elejéről.Zizi64 írta:Ha te már előre szövegesre formázod a cellát, akkor valószínűleg nem erőlteti az IDŐ formátum felismerését a program...
Ha szövegesre formázom, akkor meg a már említett eredményt kapom. Ha van 0-val kezdődő érték az oszlop elején, akkor borul az egész módszer és 00:01:29: v. 00:11:20: stb. lesz az eredmény.
A hozzászólást 2 alkalommal szerkesztették, utoljára Chili 2012. augusztus 23., csütörtök 12:28-kor.
Verzió: 3.6.0.4 (Win7)
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Ja, ezt a részét most már értem a pronlémának.Azért formázom "szövegesre" mert különben ha alap formázáson ütöm be pl. a 0129 értéket, a nullát lehagyja az elejéről.
Akkor viszont 4 lépésre lesz szükséged:
Először a 3 karakter hosszú szövegeket le kell cserélned "0"+3karakter szövegekre
Aztán jön az előzőekben megadott első és második lépés.
És még kell egy olyan lépés is, ami a [Sztring végén lévő ":"] jelet keresi és lecseréli ":00"-ra, hogy a szöveged vége is jó legyen.
Négy lépés végrehajtásához már biztos, hogy a makró a legjobb megoldás.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
...Persze kombinálni, variálni kell a lépéseket a cellát formázási típusának függvényében.
Kis méretű fájlokat inkább közvetlenül ide töltsél fel. A belinkelt dolgok előbb-utóbb eltűnnek, és a később idetévedő felhasználók csak a fejüket vakarhatják, hogy vajon mi is lehetett a belinkelt fájlban.
Alul van a "Csatolmány feltöltése" fül...
Utólag is szerkesztheted a régebbi hozzászólásodat, és feltöltheted a fájlodat.
Kis méretű fájlokat inkább közvetlenül ide töltsél fel. A belinkelt dolgok előbb-utóbb eltűnnek, és a később idetévedő felhasználók csak a fejüket vakarhatják, hogy vajon mi is lehetett a belinkelt fájlban.
Alul van a "Csatolmány feltöltése" fül...
Utólag is szerkesztheted a régebbi hozzászólásodat, és feltöltheted a fájlodat.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Tehát alapértelmezett formátumból kiindulva (123 illetve 1234 alakú számok) ezt kell végrehajtanod, vagy makróznod:
Első lépés a háromjegyű számok négyjegyű sztringgé alakítása az "elején kettőspont" hozzáfűzése szöveggé konvertálja
(keresés)
(csere)
Második lépés a négyjegyű számokat is négyjegyű sztringgé alakítjuk: az "elején kettőspont" hozzáfűzése szöveggé konvertálja
(keresés)
(csere)
Harmadik lépés Minden két számjegyet "két számjegy+":" -tá alakítunk
(keresés)
(csere)
Negyedik lépés Az első ":"-t "00:" szövegre cseréljük
(keresés)
(csere)
Ötödik lépés Az utolsó ":"-t ":00" szövegre cseréljük
(keresés)
(csere)
Első lépés a háromjegyű számok négyjegyű sztringgé alakítása az "elején kettőspont" hozzáfűzése szöveggé konvertálja
(keresés)
Kód: Egész kijelölése
^[:digit:]{3}$
Kód: Egész kijelölése
:0&
(keresés)
Kód: Egész kijelölése
^[:digit:]{4}$
Kód: Egész kijelölése
:&
(keresés)
Kód: Egész kijelölése
[:digit:]{2}
Kód: Egész kijelölése
&:
(keresés)
Kód: Egész kijelölése
^:
Kód: Egész kijelölése
00:
(keresés)
Kód: Egész kijelölése
:$
Kód: Egész kijelölése
:00
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: Time Code a Calc-ban
És ha így oldanám meg? Ekkor csak a "B" oszlopban szereplő értékek "közepére" (6. hely) kell beszúrni egy :-t. De hogyan? Ez is keresés-csere?Zizi64 írta: Akkor viszont 4 lépésre lesz szükséged:
Először a 3 karakter hosszú szövegeket le kell cserélned "0"+3karakter szövegekre
Aztán jön az előzőekben megadott első és második lépés.
És még kell egy olyan lépés is, ami a [Sztring végén lévő ":"] jelet keresi és lecseréli ":00"-ra, hogy a szöveged vége is jó legyen.
Verzió: 3.6.0.4 (Win7)
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Ha nem baj, hogy a cellában valójában nem csak a szöveg van, hanem az a képlet, ami a kijelzett szöveget létrehozza, akkor a szöveges formátumú, mindig négy karakteres adatokból álló tartomány mellett ezt a képletet alkalmazd a C1-ben lévő adat feldolgozásához:
(Eddig az volt a vezérfonalam, hogy kívülről legyenek manipulálva az adatok, ne pedig cellaképlettel...)
Kód: Egész kijelölése
=CONCATENATE("00:";LEFT(C1;2);":";RIGHT(C1;2);":00")
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Re: Time Code a Calc-ban
Csak a cellák látható tartalma érdekes, mert csak az jelenik meg, amikor elmentem *.CSV-be a fájlt, úgyhogy ez így tökéletes.Zizi64 írta:Ha nem baj, hogy a cellában valójában nem csak a szöveg van, hanem az a képlet, ami a kijelzett szöveget létrehozza, akkor a szöveges formátumú, mindig négy karakteres adatokból álló tartomány mellett ezt a képletet alkalmazd a C1-ben lévő adat feldolgozásához:
(Eddig az volt a vezérfonalam, hogy kívülről legyenek manipulálva az adatok, ne pedig cellaképlettel...)Kód: Egész kijelölése
=CONCATENATE("00:";LEFT(C1;2);":";RIGHT(C1;2);":00")
Az a lényeg, hogy egyszerű és könnyen kezelhető megoldásra jutottunk. Nagyon szépen köszönöm a segítséget, sokat tanultam általa.
Verzió: 3.6.0.4 (Win7)
- Zizi64
- Globális moderátorok
- Hozzászólások: 4084
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Time Code a Calc-ban
Ezt meg az alapértelmezett (szám) formátumú 3 és 4 jegyű adatokhoz használhatod:
Kód: Egész kijelölése
=CONCATENATE("00:";LEFT(IF(LEN(C1)=3;"0"&C1;C1);2);":";RIGHT(C1;2);":00")
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].