Időtartam átalakítás összeadható formátumba

Táblázatkezelő
luuzzzeer
Hozzászólások: 13
Csatlakozott: 2009. április 22., szerda 18:19

Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: luuzzzeer »

Egy hálózati eszközöket megfigyelő softver egy adott formátumban adja meg a problémákkal kapcsolatos időtartamot.
Ez a formátum a következő: 1w 16d 22h vagy 16d 22h 27m vagy 22h 27m 59s

Mivel az adott eszközöknél fellépő problémák ismétlődnek, egy adott bázisból összadással meg szeretném határozni az össz időtartamot.
Több megoldással kisérleteztem (testre szabott cella formátum, ISNUMBER, LEFT, RIGH funkciók), de sajnos nem sikerült össze adható formátumba varázsolnom a számokat.

Nekem az a megoldás is tökéletesen megfelel ha a 16d 22h 27m formátumot külön cellákra bontom 1*86400 (masodpercek szama 1 nap alatt) + 22*1380 (masodpercek szama 1 óra alatt) + 27*60, összeadom a másodperceket majd vissza alakítom órára.
Viszont nem tudom megoldani, hogy egy adott mezőben megmaradjon a 16 a 22 és a 27, amit utánna szorozni tudok.

Biztos léteznek ettől inteligensebb megoldások is de sajnos nem tudom hogyan kell kombinálni a LEFT és RIGHT fügvényt ugyanabban a cellában.
A segítséget előre is köszönöm.
A hozzászólást 1 alkalommal szerkesztették, utoljára luuzzzeer 2015. október 15., csütörtök 12:00-kor.
Ms Windows 10 • LibbreOffice 4.4.2
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

Mintafájlt is töltsél fel ide, az százszor többet segít, mint bármilyen részletes szöveges leírá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].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

22*1380 (masodpercek szama 1 óra alatt)
Ez nem stimmel! (hacsak nem egy másik bolygóról származnak az adatok...) :)
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].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

Ez a formátum a következő: 1w 16d 22h vagy 16d 22h 27m vagy 22h 27m 59s
Ha ez mind előfordulhat a rendelkezésre álló HÁROM adat között, akkor a jelző betű alapján kell szeparálnod az értékeket, még akkor is, ha külön cellába importálod azokat (mert ha jól feltételezem, így egy oszlopban egymás alá kerülhetnek hetek, napok és akár órák mérőszámai is)...
Erre pedig talán egyszerűbb makrót írni, mint a létező szövegkezelő, számértékké átalakító cellafüggvényeket összekombinálni, hiszen egy és kétjegyű számok is előfordulhatnak... (vagy akár háromjegyűek is?)
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].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

Törekedj arra, hogy mindig ugyanabban az egységben keletkezzen az eredmény.

Ha A1-ban van egy ilyen string:

2d
akkor használd ezt:

Kód: Egész kijelölése

=VALUE(LEFT(A1;LEN(A1)-1))

Ha A1-ban van egy ilyen string:
22h
akkor használd ezt:

Kód: Egész kijelölése

=VALUE(LEFT(A1;LEN(A1)-1))/24

Ha A1-ban van egy ilyen string:

59m
akkor használd ezt:

Kód: Egész kijelölése

=VALUE(LEFT(A1;LEN(A1)-1))/24/60
...stb...

...és akkor mindig napokban kapod meg az eredményt. Ez azért jó, mert a Dátum-idő ábrázolás nap-alapú a táblázatkezelő programokban. A dátum-idő numerikus érték egész része az alapdátumtól eltelt napokat jelenti, a törtrész pedig a maradékot: az órákat, a perceket, a másodperceket.
Így, ha a végén kapsz egy tizedes tört alakú számértéket eredményként, akkor azt közvetlenül megformázhatod IDŐINTERVELLUM formájúra.
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].
luuzzzeer
Hozzászólások: 13
Csatlakozott: 2009. április 22., szerda 18:19

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: luuzzzeer »

A mintafájl csatolva.
Csatolmányok
mintafajl.ods
(12.97 KiB) Letöltve 95 alkalommal.
Ms Windows 10 • LibbreOffice 4.4.2
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

Azt mondtad, hogy az elemi idő egységeket tudod szeparálni külön cellákba.

ez esetben ilyen lehet a megoldás:
mintafajl.ods
(34.84 KiB) Letöltve 94 alkalommal.
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].
luuzzzeer
Hozzászólások: 13
Csatlakozott: 2009. április 22., szerda 18:19

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: luuzzzeer »

Zizi64 írta:Azt mondtad, hogy az elemi idő egységeket tudod szeparálni külön cellákba.
Nem, sajnos mar a szeparálás sem megy, mivel a w,d,h,s betűk nem fix pozícióban vannak, hanem dinamikusan változnak.
Csak a 3 lehnagyobb mértékegység látható.
Vagy: 1w 16d 22h
Vagy: 16d 22h 13m
Vagy: 22h 13m 12s
Ms Windows 10 • LibbreOffice 4.4.2
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

Én úgy emeltem át az adataidat a Shet1-ről a Sheet2-re, hogy vágólapra másoltam a kijelölt adattartományt a Sheet1-en, és Irányított beillesztéssel, "szóköz" elválasztót beállítva importáltam (illesztettem be) a Sheet2-re. Ott pedig a szóköz elválasztó miatt már cellákra szeparálva jelentek meg az egyes idő-részletek.

Ez így megfelelő a számodra?

Ha nem megfelelő, akkor már tényleg egyszerűbb egy makró függvényt írni, ami
- átveszi a változó hosszúságú stringet,
- végigbogarássza azt a megfelelő betűk, szóközök, számok után kutatva
- elvégzi az akárhány időrészlet azonosítását a megtalált betűk alapján,
- elvégzi az összes megtalált időrészlet numerikus értékké történő konvertálását
- elvégzi a numerikus értékek azonos egységre hozását
- elvégzi az azonos egységű numerikus értékek összegzését
- majd numerikus (lebegőpontos) alakban, [nap] egységben visszaadja az eredményt.

(((Szívesen vállalok ilyen munkát, ha neked gondot okoz egy erre a feladatra alkalmas konvertáló makró létrehozása.)))
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].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

Ha meg tudod oldani az időrészletek szeparálását (importszűrővel, vagy képletekkel), akkor a fentebb mellékelt cellaképlet és segédtábla az átalakítást már megcsinálja.
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].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Időtartam átalakítás összeadható formátumba

Hozzászólás Szerző: Zizi64 »

Ha mindenképpen makrók nélkül, cellafüggvényekkel akarod megvalósítani a dolgot, akkor ajánlom figyelmedbe a MID() és a FIND() függvényeket. (Az angol nevüket adtam meg.) Lásd a Súgó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].
Válasz küldése