Hirdetés

2020. január 23., csütörtök

Gyorskeresés

Hozzászólások

(#1) DrojDtroll


DrojDtroll
(addikt)

nyitva

(#2) 7


7
(addikt)

Jelen formájában semmit nem csinál, mert hiányzik a vége.

(#3) DrojDtroll válasza 7 (#2) üzenetére


DrojDtroll
(addikt)

az egészet kimásoltad?

=IFERROR(2014-(LEN(LEFT(IF(IFERROR(IF(SEARCH(",";P26);1;0);-1)=-1;P26&",";P26)&"|"&IF(IFERROR(IF(SEARCH(",";O26);1;0);-1)=-1;O26&",";O26)&"|"&IF(IFERROR(IF(SEARCH(",";N26);1;0);-1)=-1;N26&",";N26)&"|"&IF(IFERROR(IF(SEARCH(",";M26);1;0);-1)=-1;M26&",";M26)&"|"&IF(IFERROR(IF(SEARCH(",";L26);1;0);-1)=-1;L26&",";L26)&"|"&IF(IFERROR(IF(SEARCH(",";K26);1;0);-1)=-1;K26&",";K26)&"|"&IF(IFERROR(IF(SEARCH(",";J26);1;0);-1)=-1;J26&",";J26)&"|"&IF(IFERROR(IF(SEARCH(",";I26);1;0);-1)=-1;I26&",";I26)&"|"&IF(IFERROR(IF(SEARCH(",";H26);1;0);-1)=-1;H26&",";H26)&"|"&IF(IFERROR(IF(SEARCH(",";G26);1;0);-1)=-1;G26&",";G26)&"|"&IF(IFERROR(IF(SEARCH(",";F26);1;0);-1)=-1;F26&",";F26)&"|"&IF(IFERROR(IF(SEARCH(",";E26);1;0);-1)=-1;E26&",";E26)&"|"&IF(IFERROR(IF(SEARCH(",";D26);1;0);-1)=-1;D26&",";D26)&"|"&IF(IFERROR(IF(SEARCH(",";C26);1;0);-1)=-1;C26&",";C26)&"|"&IF(IFERROR(IF(SEARCH(",";B26);1;0);-1)=-1;B26&",";B26)&"|";SEARCH("|"&IF(IFERROR(IF(SEARCH(",";MAX(B26:P26));1;0);-1)=-1;MAX(B26:P26)&",";MAX(B26:P26))&"|";IF(IFERROR(IF(SEARCH(",";P26);1;0);-1)=-1;P26&",";P26)&"|"&IF(IFERROR(IF(SEARCH(",";O26);1;0);-1)=-1;O26&",";O26)&"|"&IF(IFERROR(IF(SEARCH(",";N26);1;0);-1)=-1;N26&",";N26)&"|"&IF(IFERROR(IF(SEARCH(",";M26);1;0);-1)=-1;M26&",";M26)&"|"&IF(IFERROR(IF(SEARCH(",";L26);1;0);-1)=-1;L26&",";L26)&"|"&IF(IFERROR(IF(SEARCH(",";K26);1;0);-1)=-1;K26&",";K26)&"|"&IF(IFERROR(IF(SEARCH(",";J26);1;0);-1)=-1;J26&",";J26)&"|"&IF(IFERROR(IF(SEARCH(",";I26);1;0);-1)=-1;I26&",";I26)&"|"&IF(IFERROR(IF(SEARCH(",";H26);1;0);-1)=-1;H26&",";H26)&"|"&IF(IFERROR(IF(SEARCH(",";G26);1;0);-1)=-1;G26&",";G26)&"|"&IF(IFERROR(IF(SEARCH(",";F26);1;0);-1)=-1;F26&",";F26)&"|"&IF(IFERROR(IF(SEARCH(",";E26);1;0);-1)=-1;E26&",";E26)&"|"&IF(IFERROR(IF(SEARCH(",";D26);1;0);-1)=-1;D26&",";D26)&"|"&IF(IFERROR(IF(SEARCH(",";C26);1;0);-1)=-1;C26&",";C26)&"|"&IF(IFERROR(IF(SEARCH(",";B26);1;0);-1)=-1;B26&",";B26)&"|")))-LEN(SUBSTITUTE(LEFT(IF(IFERROR(IF(SEARCH(",";P26);1;0);-1)=-1;P26&",";P26)&"|"&IF(IFERROR(IF(SEARCH(",";O26);1;0);-1)=-1;O26&",";O26)&"|"&IF(IFERROR(IF(SEARCH(",";N26);1;0);-1)=-1;N26&",";N26)&"|"&IF(IFERROR(IF(SEARCH(",";M26);1;0);-1)=-1;M26&",";M26)&"|"&IF(IFERROR(IF(SEARCH(",";L26);1;0);-1)=-1;L26&",";L26)&"|"&IF(IFERROR(IF(SEARCH(",";K26);1;0);-1)=-1;K26&",";K26)&"|"&IF(IFERROR(IF(SEARCH(",";J26);1;0);-1)=-1;J26&",";J26)&"|"&IF(IFERROR(IF(SEARCH(",";I26);1;0);-1)=-1;I26&",";I26)&"|"&IF(IFERROR(IF(SEARCH(",";H26);1;0);-1)=-1;H26&",";H26)&"|"&IF(IFERROR(IF(SEARCH(",";G26);1;0);-1)=-1;G26&",";G26)&"|"&IF(IFERROR(IF(SEARCH(",";F26);1;0);-1)=-1;F26&",";F26)&"|"&IF(IFERROR(IF(SEARCH(",";E26);1;0);-1)=-1;E26&",";E26)&"|"&IF(IFERROR(IF(SEARCH(",";D26);1;0);-1)=-1;D26&",";D26)&"|"&IF(IFERROR(IF(SEARCH(",";C26);1;0);-1)=-1;C26&",";C26)&"|"&IF(IFERROR(IF(SEARCH(",";B26);1;0);-1)=-1;B26&",";B26)&"|";SEARCH("|"&IF(IFERROR(IF(SEARCH(",";MAX(B26:P26));1;0);-1)=-1;MAX(B26:P26)&",";MAX(B26:P26))&"|";IF(IFERROR(IF(SEARCH(",";P26);1;0);-1)=-1;P26&",";P26)&"|"&IF(IFERROR(IF(SEARCH(",";O26);1;0);-1)=-1;O26&",";O26)&"|"&IF(IFERROR(IF(SEARCH(",";N26);1;0);-1)=-1;N26&",";N26)&"|"&IF(IFERROR(IF(SEARCH(",";M26);1;0);-1)=-1;M26&",";M26)&"|"&IF(IFERROR(IF(SEARCH(",";L26);1;0);-1)=-1;L26&",";L26)&"|"&IF(IFERROR(IF(SEARCH(",";K26);1;0);-1)=-1;K26&",";K26)&"|"&IF(IFERROR(IF(SEARCH(",";J26);1;0);-1)=-1;J26&",";J26)&"|"&IF(IFERROR(IF(SEARCH(",";I26);1;0);-1)=-1;I26&",";I26)&"|"&IF(IFERROR(IF(SEARCH(",";H26);1;0);-1)=-1;H26&",";H26)&"|"&IF(IFERROR(IF(SEARCH(",";G26);1;0);-1)=-1;G26&",";G26)&"|"&IF(IFERROR(IF(SEARCH(",";F26);1;0);-1)=-1;F26&",";F26)&"|"&IF(IFERROR(IF(SEARCH(",";E26);1;0);-1)=-1;E26&",";E26)&"|"&IF(IFERROR(IF(SEARCH(",";D26);1;0);-1)=-1;D26&",";D26)&"|"&IF(IFERROR(IF(SEARCH(",";C26);1;0);-1)=-1;C26&",";C26)&"|"&IF(IFERROR(IF(SEARCH(",";B26);1;0);-1)=-1;B26&",";B26)&"|"));",";"")));2014)

???

[ Szerkesztve ]

(#4) föccer


föccer
(nagyúr)

Valami szövegből szedegeti ki a paramétere cellában megadott szövegrészletben pozíciójához tartozó szövegrészletet.

Így első ránézésre, 2 sec alatt. a konkrét táblázat fájl nélkül többet ne kívánj. :D

(#5) DrojDtroll válasza föccer (#4) üzenetére


DrojDtroll
(addikt)

Segítek akkor egy kicsit. A cellák amikkel dolgozik számokat tartalmaznak. (ez következik a max függvényből)

(#6) proci985 válasza DrojDtroll (#5) üzenetére


proci985
(MODERÁTOR)

tizedesvesszőket számol asszem a B26: P26 mezőkön vagy hibát dob. azt hiszem, de nem volt türelmem rendesen kiindentálni. tippre valami általános error checking lehet.

maintainability/olvashatatlanság szempontjából ez majdnem annyira ronda, mint amit egy C decompiler tud generálni, mármint kb ugyanazt a lépést meghívja 15ször,
IF(
IFERROR(
IF(
SEARCH(",";P26)
;1;0)
;-1)
=-1;
P26&",";P26)

de legalább 4x3mas lépésben használja a köztes értékeket is (tehát ahol nem B26: P26 között számol).

[ Szerkesztve ]

The first rule of tautology club is the first rule of tautology club. // Social justice in lagom amount.

(#7) 7 válasza DrojDtroll (#3) üzenetére


7
(addikt)

Valószínűleg én voltam a figyelmetlen (pedig kétszer is megnéztem), de nem láttam a képlet végét. Így már más a leányzó fekvése, de proci már úgyis kivesézte. :)

Ha jól olvasom, 2014-ből kivonja a B26:P26 cellatartományból a legnagyobb értékű cella értékének vessző előtti hosszát(?). Ha ilyen nincs, 2014-et köp vissza válaszként.

De amilyen katyvaszos, simán lehet, hogy félreolvasom.

[ Szerkesztve ]

(#8) DrojDtroll válasza 7 (#7) üzenetére


DrojDtroll
(addikt)

pontosan ezt csinálja

A lényeg, hogy egy versenyen az volt a feladat az adott sorban lévő maximum legutolsó előfordulásának évszámát kilistázzuk segédcella használata nélkül

Kijöttem a versenyről és barátaimmal értekezve megtudtam, hogy kb 20-szor rövidebb az ideális megoldás.

(#9) 7 válasza DrojDtroll (#8) üzenetére


7
(addikt)

Es az idealis megoldas valoszinuleg kevesbe hajlamos work environmenttol fuggoen elhasalni. Nekem pl. nem is mukodik a sajat gepemen, keplethibat dob. :D

Egyebkent mi lett volna az? :)

[ Szerkesztve ]

(#10) föccer válasza DrojDtroll (#8) üzenetére


föccer
(nagyúr)

Ird le a feladat pontos megfogalmazasban
Amit 7 irt az 3 fiuggveny kb nem 3 sornyi. :D

(#11) föccer válasza föccer (#10) üzenetére


föccer
(nagyúr)

=HAHIBA(2014-HOSSZ(SZÖVEG(CSONK(MAX(B26:P26);0);"0"));2014)

[ Szerkesztve ]

(#12) proci985 válasza DrojDtroll (#8) üzenetére


proci985
(MODERÁTOR)

:DDD

azert tiszteletremelto a bruteforce megoldasod is. kulon imadom, hogy milyen szep halt-on-failt megoldast irtal ra, ez utobbi nem szokvanyos, de bizonyos helyzetekben kivanatos. :R

egy tipp: a jo programozo lusta*. ha azt erzed, hogy eppen ugyanazt a blokkot irod le harmadszorra picit eltero de osszefuggo valtozokkal, akkor jellemzoen at kell strukturalni a kodot, mert valahol egy loop vagy azzal egyenerteku megoldas kene. ha ugyanazt a blokkot negyedszer irod le, akkor biztos egyszerubb atstrukturalni.

ezzel egyreszt:
- kevesebbet kell irnod (itt pl 15 cella volt, mi lett volna, ha 30 van? vagy 3000?)
- kevesebb marad a hibalehetoseg (ahogy nezem itt legalabb 60 valtozonak kellett stimmelnie 2 helyett)
- egyszerubb lesz valtoztatni (pl mi lenne ha 16 cellat kene figyelembe venni, vagy evszam helyett mas erteket kilistazni?)

dolog egyebkent igy leirva egyszerubb, de gyakorlassal menni fog. programozas meg sok szempontbol olyan, mint az elo nyelvek hasznalata (pl angol), avagy csinalni kell es hasznalni kell, kulonben nem fejlodsz.

* eletem egyik legnagyobb lustasaga az MSC diplomam volt, aminel annyira szetautomatizaltam az adatgeneracios es begyujtesi processt, hogy egy gombnyomasra lefuttatott ilyen 5-6000 esetet, aztan a adatok otlepcsos feldolgozasa utan szepen csinalt nekem egy OK / NOK listat. 250 ora fejlesztesi ido, 2 perc az adatbegyujtesre ami eleve ugy volt lestrukturalva, hogy egy az egyben lehetett masolni az appendixbe. megnyomtam a gombom es kozben egeszen biztos voltam, hogy en vagyok a leglustabb ember a videken.

The first rule of tautology club is the first rule of tautology club. // Social justice in lagom amount.

(#13) DeFranco válasza föccer (#11) üzenetére


DeFranco
(nagyúr)

{=INDEX($A$1:$A$34;KICSI(HA($B$1:$B$34=MAX($B$1:$B$34);SOR($B$1:$B$34);"");DARABTELI($B$2:$B$34;MAX($B$1:$B$34)));1)}

nicc feladat amúgy, rá kellett guglizni és abból továbbfejteni, megy az okosfüzetbe.

[ Szerkesztve ]

(#14) DrojDtroll válasza proci985 (#12) üzenetére


DrojDtroll
(addikt)

kb mindennel amit leírtál tisztában vagyok

nem láttam, hogy tudom szebben megoldani ezért csináltam így

(#15) lezso6 válasza proci985 (#12) üzenetére


lezso6
(HÁZIGAZDA)
LOGOUT blog

Ezzel nagyon egyetértek, hogy a "jó programozó lusta". :K Nuku redundancia, amit lehet egyszerűsíteni, persze az ésszel, hogy olvasható maradjon. :D Szóval a rövidítés nem egyszerűsítés, hogy pl egy sorba írom azt, ami amúgy 20 lenne. Én a programozást egyfajta művészetnek tartom. :B

Erről jut eszembe, hogy sokan vannak olyanok, akik először csinálnak valami szupergány izét, csak műköggyön, aztán optimalizálnak. Szerintem ez az egyik legrosszabb módszer. Eleve (amennyire lehet) optimalizálva kéne írni (ok, kell hozzá agy meg tapasztalat) sokkal gyorsabb és billentyűzetkímélő. :DDD

[ Szerkesztve ]

STOP RIOS! Állítsuk meg a moderációt!

(#16) proci985 válasza DrojDtroll (#14) üzenetére


proci985
(MODERÁTOR)

:R megesik.

(#15) lezso6: Csunyan de gyorsan weben mondjuk altalaban mukodik (weboldaltol meg komplexitastol fuggoen), viszont pl elosztott kodnal kb az egeszet lehet utana ujrairni:D.

indentacio alap, en foleg javaban kodolok es a clean code kb egesz jol leirja, hogy mit kene csinalni (persze ez is max best practice es nem silver bullet).

[ Szerkesztve ]

The first rule of tautology club is the first rule of tautology club. // Social justice in lagom amount.

(#17) UnA válasza lezso6 (#15) üzenetére


UnA
(Korrektor)

"Én a programozást egyfajta művészetnek tartom."

Ezzel maximálisan egyetértek. És ennek nem mond ellent az, hogy vannak, akik egy favágó érzékével kódolnak. :)

(#18) DrojDtroll válasza UnA (#17) üzenetére


DrojDtroll
(addikt)

vannak, akik egy favágó érzékével kódolnak. :)

Köszönöm :R

Copyright © 2000-2020 PROHARDVER Informatikai Kft.