Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
Nem. Nem volt egyértelmű a leírásom, bocs. Adott egy számsorozat, egy olyan képlet kell, ami megmondja azt, hogy ebből a számsorozatból mely rész az, amelyeknek az összege ADOTT (Pl 8700-at kiadó összeget kell megkeresnem ebben a számsorozatban)
Nem értek ehhez a csősúrlódási dolgokhoz, de rákeresve a googleben találtam róla egy két dolgot és ahogy én megértettem, ez az eredeti képlet, amit számolni akarsz ietrációval is egy viszonylan pontatlan közelítése a tapasztalati értékeknek, amit a Moody-diagramon ábrázolnak (? ha jól értem).. Bár nem teljesen ugyanez ez a két képlet (eltérő konstansok), de ugyanaz az alakja . Úgy hívják hogy Coolebrook egyenlet. "A less accurate but sometimes useful correlation for estimates is the Colebrook equation" . Viszont van van egy másik közelítése a Moody-diagramnak, amit pontosabbnak mondanak és explicit alakú. "As and alternative to Moody Chart use Churchill’s correlation". Ha ez tényleg így van, akkor ezt a Churchill- képletet kéne használni., semmi értelme a polinomos közelítésnek sem, hiszen eleve egy elég pontatlan képlet alapján közelítunk. Itt van ez az előadás anyag:
Miért gondolod így? Az ábrán a z függését mutatja y-tól. Annyi megkötés van még, hogy az y>0 értékeket tekintjük csak. Az az y-nal origó felé haladva végtelenbe tart. Ezt a z=f(y) összefüggést nem lehet egyébként elemi függvényekkel felírni minden jel szerint, matematikai programokkal ki lehet hozni zárt alakú kifejezést speciális függvényeket bevezetve, így készült az ábra.
Szép ez az adattáblás megközelítés, nem csináltam még ilyet, bár tanultam valamikor. Viszont igazán nem értem miért előnyösebb itt. Egy egyváltozós függvényünk adódott a közelítésből, egy sima képlet, igaz összetett, és sok értékre kell kiszámolni, de egy mozdulattal lehúzható a képlet a szokásos módon. Lehet, én nem értek valamit. A fő probléma, hogy ilyen összetett a képlet, kényelmetlenek ezek az egymásba ágyazott ha-k, ezért, jobb lenne több cellára bontani ahogy már javasoltam. Ráadásul nem tudom hányszorosan lehet beágyazni a ha-t, mert még a nagyobb y-ok tartományának lefedéséhez lehet, hogy még növekedni is fog a képlet összetettsége., (Bár elég lapos a függvény nagy y-okra, lehetne egyszerűbben közelateni, de nincs megadva milyen a pontossági igény.) Persze a másik probléma, hogy ezt a közelítő spline-t bár könnyen ki lehet számolni a Maple-vel, de macerás áttenni Excelbe. (Visual Basic kódot lehetne rá generáltatni a maplevel, ezért még a makrosan is egyszeűbb lenne).
Én nem értek ezekhez a csősurlódási dolgokhoz, de ugy látom hogy 0,01 pontosságú lambdák bármilyen reynoldshoz számíthatók az én módszeremmel, de 50 darabonként még az 0,001 pontosság is biztosítható. (Az általad megadott példa 2,917-9,583 reynolds tartományban is valszeg korlátlanul biztosítható a 0,001 pontosság) Nagyobb volumenek számításánál meg vagy a feladat frakcionálandó, vagy az extekergő féle táblaszorzat ajánlható. Ha ennél is nagyobb pontosság kell akkor már szerintem is megfontolandó a Solver makrózása.
Ha jól értem a kérdesed, akkor a mellette levő oszlopban végigmásolod az összegző képletet. Így az eredeti cellák mellett ott lesz a hozzájuk tartozó összeg. Aztán szűrés.
Legjobb lenne ez a közelítő függvényes megoldás, mert akkor csak egy sima képletet kéne számolni. Ha lesz időm a hétvégén még, akkor kiszámolom a a polinomos közelítést a nagyobb y-okra. Excelbe pedig a lenti ha() szerkezettel be lehetne tenni, de célszerűbb lenne nem egymásba ágyazottan hanem pl. egymás melleti cellákba bontva a ha()-kat pl. ha a munkalap szerint a z képlete a H7 cellában indul, akkor ide HA( y<1000; polinom1;I7) az I7-esbe HA( y<3000; polinom2;J7) stb... Persze lehetne programozni is excelben. t
Jézusum, mit írtam! Így akartam: Nem tudnád elküldeni nekem ezt a táblát? Talán élesben elemezgetném egy kicsit. Bár megoldást nem ígérhetek, mert... de a "vaktyúk is talál ..." elmélet lehet, hogy működik. :))
Nem tudnád elköldeni nekem ezt a táblát? Talán élesben ele,ezgetnlm egy kicsit. Bár megoldást nem ígérhetek, mert... de a "vaktyúk is talál ..." elmélet lehet, hogy működik. :))
Az egy sorra működő solveres megoldást kéne kiterjeszteni makróval az oszlopos adatokra makró írásával. Pl. Előszőr egy makrot rögzíteni az egysorra vonatkozó kézzel elvégzett solverezésre . Az így kapott makro VB programot pedig átírni. Eszközök makró-Szerkesztés. Ciklus az oszlop soraira, átmásolgatni az aktuális ceállából a solver által használt cellába, visszírni a megfelelő sorba az eredményt. stb...
Látom nem teljesen egyértelmű a megoldandó feladat, ezért leírom konkrétan: csősurlódási nyomásveszteséget szeretnék számolni. Az A,B,C,D,E oszlopokban lévő adatok számítása nem okoz gondot. Az F oszlopban lévő csősurlódási tényező számítása iterációval oldható meg (a képletet a munkafüzet jobb oldalába írtam be). Miután megvan a csősurlódási tényező, akkor lehet kiszámolni a nyomásveszteséget, ami szintén problémamentes (a táblázatban 0-k látszanak, mivel a csősurlódási tényező nem ismert). Szóval egyedül a csősurlódási tényező kiszámításában kérném a segítséget, mint látjátok az egyenlet mindkét oldalán ott van az ismeretlen csősurlódási tényező (az összes többi tag már ismert). A végső cél az lenne ezzel a táblázattal, hogy az A oszlopot (csőmért) és az érdesség (B oszlop) értékeit átírva más értékre egyből látható legyen a hozzá tartozó nyomásveszteség. Remélem nem bonyolítottam túl a feladat leírását.
azt hogy lehetne kivitelezni, hogy: adott egy számsorozatomoszlopban. Ebből a számsorozatból kell kiválasztanom azokoat az értékeket, amelyeknek az összege X.Lehetőség szerint szomszédos értékek legyenek (Egymás alatti-feletti)Nem kell nagyban gondolkodni, 10-20 db-os számsorozatról van szó
Meg lehetne próbálni még görbeillesztéssel is. Kiszámolni a solverrel néhány pl. 10 vagy több pontban és ezekre a y-z párokra egy alkalmas görbét illeszteni. Excelben is van görbeillesztés, vagy mással csinálni. Így már csak a közelítő görbe képletét kéne az excelben használni, feltéve, hogy elegendő a kapott közelítés pontossága.
Klassz. Mióta felvetetted ezt a szorzótáblát (amit egyébként ismertem, csak nem szoktam használni) próbálom a saját probklémámra adaptálni. Aktív képletekkel, mint említettem, 50.000 celláig tudtam elmenni, de így valszeg néhány további lépcső is gond nélkül megoldható. Már megérte tammmyboy problémájával foglalkoznom.
Persze a B3 cellába írt képlet, ami jellenleg a példa kedvéért az A1 és az A2 cellára mint 2 változóra és egy további szorzóra hivatkozik. Ez a függvény aztán a végtelenségig, ill. igény szerint módosítható, bonyolítható.
Most készítettem el egy Y=1000* x=254 változós táblát. Nem egy gyors gépem van, de kis gondolkodás után már is ott a 254 000 eredmény, kiszínezve... valahogy így.