Keresés

Részletes keresés

Fferi50 Creative Commons License 2013.11.27 0 0 23152

Szia!

 

Az előbbi hozzászólásomban (23147) adtam útmutatást a B oszlop szétbontására.

 

"

A B oszlop tartalmát az adatok szövegből oszlopok opcióval szétrakhatod a vesszők "mentén" külön oszlopokba. Utána ezeket az oszlopokat egy oszlopba másolod be egymás alá (az üres cellák is maradhatnak). Majd az adatok, ismétlődések eltávolítása opcióval eltünteted az azonosakat.

Vigyázz, mert "lakás" és "lakás " itt sem egyforma!!!"

 

Üdv.

 

Előzmény: albino combino (23150)
tbando Creative Commons License 2013.11.27 0 0 23151

Csinálj egy specialis szűrést a Csak az egyedi rekordok megjelenítése opcióval Így lesz egy listád az összes tulajdonságról.  Amelyben lesznek olyan cellák, amelyek 1 tulajdonságot tartalmaznak, és lesznek olyanok amelyek többet. A többeket átnézed, hogy szerepel-e a bennük levő összes tulajdonság  szólóban is. Amelyik tulajdonság nem, azt önállóan hozzáírod a listádhoz. Ha ezzel kész vagy jöhet Darabteli. Ha mondjuk a tul.listád az A oszlopban van akkor B1-be írod a képletet, majd végighúzod:

 

=Darabteli(Adatoszlop500;"*"&a1&"*")  

 

Tehát a két jokerkaraktert hozzáfűzöd a keresendő tulajdonsághoz.

 

ps. A darabteli keresése nem case sensitive, tehát mindegy, hogy kisbetüt vagy nagybetüt használsz.

Előzmény: albino combino (23146)
albino combino Creative Commons License 2013.11.27 0 0 23150

őőő bocsánat ismét :)
nagy volt a szám, és nem gondolkoztam időben...

 

szóval a darabteli végülis mégse teljesen jó az én esetemben.

 

Megpróbálom megfogalmazni most már pontosan mi a kínom :)

 

tehát - az 500 sornál a tulajdonságok kb össze-vissza vannak emberenként.

Nekem mindenképpen át kéne néznem az egészet ennek a függvénynek a használatakor, de erre ha nem muszáj nem kerítenék sort, mert 10 ilyen táblázatom van.

 

kb így néz ki a dolog (csak táblázatonként 50-100 tulajdonsággal is akár)

 

a ember - kék, zöld, piros

b ember - zöld, fekete, lila

c ember - kék, zöld, lila, piros

stb.

 

A függvény használatakor át kéne néznem az összes sort, hogy van-e valahol új tulajdonság, és mindegyikre be kellene pötyögnöm a függvényt.

 

Van arra esetleg mód, hogy automatikusan kiszedi az összes kifejezést ÉS aztán ezekre a kifejezésekre nyomja rá a darabtelit? Picit még bonyolítja a dolgot, hogy a tulajdonságok között van olyan, ami 2-3 szóból áll, ezzel meg végképp nem tudom hogy boldogulna. 

pl - d ember - kék, zöld, piros, bugyi lila, fehér

 

Ezt is meg kellene néznie, az én drága kis excelemnek, és kilistáznia, hogy kék -10 darab, bugyi lila -11 darab.

Vagy azt se bánom, ha úgy listázza ki, hogy 

kék -10 darab

kék, zöld - 2 darab

kék, zöld, piros - 1 darab

 

Ekkor már az egyértelmű hülyeségeket ki tudnám szúrni, és ami nem kell azt tudnám törölni.

 

Előzmény: Fferi50 (23148)
albino combino Creative Commons License 2013.11.27 0 0 23149

mucsász grásziász  :)

igazad van, figyelmetlenül olvastam már a legelső válaszod, csináltam magamnak 1 óra pluszmunkát. 

köszönöm szépen, így minden megy normálisan

Előzmény: Fferi50 (23148)
Fferi50 Creative Commons License 2013.11.27 0 0 23148

Szia!

 

Közben megírtam neked!

Szerintem ez egy lépésben megy a darabteli általam javasolt formájában!

 

Üdv.

Előzmény: albino combino (23146)
Fferi50 Creative Commons License 2013.11.27 0 0 23147

Szia!

 

Alighenem elkerülte a figyelmedet a * karakter a példa szó elején és végén. Ez azt eredményezi, hogy akárhol van a keresett szó a cellában, mindig megtalálja.

 

Nagyon szívás tud ám lenni, ha szóközök vagy nem látható karakterek is vannak a cella értékében, amit szabad szemmel észre sem veszel!

 

Ezért használom én a joker karaktereket.

 

A B oszlop tartalmát az adatok szövegből oszlopok opcióval szétrakhatod a vesszők "mentén" külön oszlopokba. Utána ezeket az oszlopokat egy oszlopba másolod be egymás alá (az üres cellák is maradhatnak). Majd az adatok, ismétlődések eltávolítása opcióval eltünteted az azonosakat.

Vigyázz, mert "lakás" és "lakás " itt sem egyforma!!!

 

És már jöhet is a darabteli függvény.

 

Remélem segít!

 

Üdv.

Előzmény: albino combino (23145)
albino combino Creative Commons License 2013.11.27 0 0 23146

elnézést, hogy telenyomom a falat...

szóval arra már rájöttem, hogy a darabteli fix, hogy erre nem használható.

Ha rákeresek a lent említett bazaarvoice kifejezésre, akkor azokat a cellákat megszámolja, amiben CSAK ez van benne, viszont azokat már nem, amik így néznek ki "Bazaarvoice, ForeSee"

Tehát, hogy több tulajdonság is meg van adva. 

Na most nekem vagy egy olyan függvény kellene, ami "szétbontja" a cellát és megnézi, hogy adott kifejezés a cellán belül ott van-e, vagy pedig egy olyan megoldás, hogy a vessző utáni dolgot új cellába tegye, és akkor már használható lenne a darabteli.

 

Most már tényleg csendben ülök és várok, hátha van ötlet :)

Előzmény: albino combino (23145)
albino combino Creative Commons License 2013.11.27 0 0 23145

Elkezdtem játszani a darabtelivel.

Na most valami vagy nagyon nem jó, vagy én vagyok hülye

Beírom ezt - =DARABTELI(A1:A500;"bazaarvoice")

Ki is dob rá szépen 252 találatot, nagyjából stimmel a mennyiség

Beírom ezt - =DARABTELI(A1:A500;"Liferay") (kis és nagybetűvel is próbáltam)

Kidob rá 0 találatot, úgy, hogy LÁTOM, hogy ott van közvetlen mellette legalább 3 (meg ki tudja mennyi még az egész doksiban)

 

Ugyanezt megjátszottam több más kifejezéssel is. A bazaarvoicera bárhol próbálom jó, meg még 2 másikra, de aztán megáll a tudomány. Próbáltam minden variációban beírni.

Az meg gondolom a program "helyes" működése, hogy szótöredékre nem keres - beírom, hogy voice, úgy már semmi eredmény.

 

valakinek tipp?

Előzmény: albino combino (23144)
albino combino Creative Commons License 2013.11.27 0 0 23144

Szia

 

Ez azért nem jó, mert nem csak három-négy fajta tulajdonság van, hanem sokkal több. A házas rész csak példa volt. Lehet, hogy az 500 emberhez van 50 fajta tulajdonság is, így meg ugyanott vagyok, ha kereséssel csinálom. Végig kell néznem akkor az összes sort, mert előfordulhat hogy az 500. embernél új tulajdonság van megadva.

 

Már kiszedtem egy külön munkalapra az összes tulajdonságot.

Gyakorlatilag az kellene, hogy kilistázza nekem hogy miből mennyi van, anélkül, hogy én nézegetném hogy milyen tulajdonságok vannak.

Előzmény: Fferi50 (23143)
Fferi50 Creative Commons License 2013.11.27 0 0 23143

Szia!

 

Használd a darabteli függvényt. A keresendő értéknél léteznek a joker karakterek. Pl. "*kertes*" minden olyan cellát beszámol, amelyben a kertes előfordul.

 

Üdv.

Előzmény: albino combino (23142)
albino combino Creative Commons License 2013.11.27 0 0 23142

Sziasztok

 

2010-es excelben kellene a következőt megcsinálnom:

Van 500 sorom, amibe fel vannak sorolva értékek. 

500 ember, és mindegyikhez van 1-1 tulajdonság, DE van akinél több mint egy van.

Azt kellene csinálni, hogy megszámolni hogy x tulajdonság hány embernél van jelen.


Amiatt nem tudtam rendesen megcsinálni, úgy hogy simán sorbarendezem tulajdonság szerint, hogy ugye 1 emberhez több tulajdonság is tartozik és ez felsorolással van a cellába beírva.

 

Pontosítok inkább :)
szóval van 500 ember, mellette pedig hogy milyen típusú háza van.

A1 Kiss Béla B1 Panel

A2 Nagy Béla B2 kertes

A3 Gazdag Elek B3 Kastély, kertes, nyaraló

stb, stb

 

Nekem az kellene, hogy kidobja, hogy kertes - 27 darab, nyaraló - 5 darab stb.

 

Ezt hogy tudom megoldani?

Köszi

Fferi50 Creative Commons License 2013.11.27 0 0 23141

Szia!

 

Pedig elvileg annak működnie kellene. Mutatsz egy kódrészletet?

 

Üdv.

Előzmény: pimre (23140)
pimre Creative Commons License 2013.11.27 0 0 23140

Szia, azért maradt még egy gondom:

 

a ws.range(ws.cells(...),ws.cells(...)) szintaktika működik, ugyanakkor a ws.range("A:B"), vagy ws.range("A1:B1") stb. forma továbbra sem akar nekem összejönni aktiválás nélkül.

 

Ez kivédhető?

Előzmény: pimre (23138)
Tyorotyere Creative Commons License 2013.11.26 0 0 23139

Sziasztok!

 

Szeretném a segítségeteket kérni! Munkám során gazdákhoz járok. Ott adatokat kell kitöltenem a gazdáról. Ezeket összesítenem kell egy táblázatba. Na most egy munkalap egy sor az összesítőbe és ez úgy van megoldva hogy van 150 munkafüzet az embereknek és van egy 151. ami az összesítő.

Az összesítőben ez a képlet van: =INDIREKT("Munka" & SOR()-1 & "!B3") ugye a B3 változik mindig. Fogalmam sincs amúgy mit jelent mert ezt a képletet is itt írták nekem! :D

 

Gond: Nyitottam egy 152. munkafüzetet ahol más jellegű összesítő van a termékek és azok árai, de ugyanúgy kell a gazdák elérhetősége mint az első 151. en találhat össezítőben, de például a 151. összesítőn a névnél lévő első cella képletét =INDIREKT("Munka" & SOR()-1 & "!B3") átmásolom a 152. névhez tartozó első cellába de nem működik. Tudom egyenlőség jellel is éehet de lesznek más cellák is amit így akarok megoldani.

 

Hogyan lehet ezt megoldani, hogy működjön akár melyik cellával és mindegyik munkalappal? Régen csináltam ezt és már fogalmam sincs mit csináltam :D  Ha kell elküldöma  táblázatot is :D  Köszönöm!

pimre Creative Commons License 2013.11.26 0 0 23138

Szia, köszönöm. Így érthető a dolog logikája is.

Előzmény: Fferi50 (23132)
kezdos Creative Commons License 2013.11.26 0 0 23137

Meg lett így, köszönöm szépen a gyors segítséget!

 

Előzmény: kezdos (23136)
kezdos Creative Commons License 2013.11.26 0 0 23136

Szerintem valamit mellé írhattam? 

http://prntscr.com/26rohc

Előzmény: Törölt nick (23134)
Fferi50 Creative Commons License 2013.11.26 0 0 23135

Szia!

 

Vagy A2 cellába =CSERE(A1;1;SZÖVEG.KERES("/";A1);"")

 

Üdv.

Előzmény: Törölt nick (23134)
Törölt nick Creative Commons License 2013.11.26 0 0 23134

Elnézést, azt hittem a fórum megfelezi a perjeleket. Helyesen:

 

=RIGHT(A1;LEN(A1)-FIND("/";A1))

Előzmény: Törölt nick (23133)
Törölt nick Creative Commons License 2013.11.26 0 0 23133

Szia!

 

Feltéve, hogy a szöveg amire a függvény hivatkozik, az A1 cellában van:

=RIGHT(A1;LEN(A1)-FIND("//";A1))

 

Előzmény: kezdos (23131)
Fferi50 Creative Commons License 2013.11.26 0 0 23132

Szia!

 

Az értékadásoknak attól függetlenül kell múködniük, hogy az adott munkalap aktív-e vagy sem. A leírt formában viszont valóban akkor működik helyesen, ha az a munkalap, amiről adatot kérsz, vagy amire adatot írsz, éppen aktív (erre sajnos nem gondoltam - sorry-). De ezt az akadályt kis módosítással el lehet hárítani.

Hogy miért van így, arra egy kis magyarázat:

Az excel minden olyan tulajdonságot, amihez nincs külön hivatkozás, az aktív munkalapon levőnek tekint. Azaz pl. az összws.range(cells(1,1),cells(1,utolsóoszlop)) kifejezést csak akkor tudja valóban értelmezni, ha az aktív munkalap az összws, mivel itt két tulajdonság van -range és cells - és két különböző hely lenne mivel a cells adatokat az aktív munkalapról szeretné venni és ez nem "fér össze" az össws-el.

 

Ennek elhárítása egyszerű: minden tulajdonsághoz oda kell írni a hivatkozását:

összws.range(összws.cells(1,1),összws.cells(1,utolsóoszlop)).value=fejlec

 

Ha csak egy tulajdonságot használsz, akkor elég az egy hivatkozás természetesen:

 

összws.range("A1:D1").value=fejlec, ez működik változókkal is:

összws.range("A1:" & utolsóoszlopbetűjele & elsősor).value=fejlec

 

De még így is:

cím = ws.range(ws.cells(1,1),ws.cells(1,utolsóoszlop)).address

összws.range(cím).value=fejlec

 

A változatokból nyilván mindig azt használjuk, ami éppen a leghatékonyabbnak tűnik az adott helyzetben.

 

Remélem, ezzel sikerült egy kicsit érthetőbbé tenni a működést és nem összezavarni amit eddig kikutattál.

 

Üdv.

Előzmény: pimre (23129)
kezdos Creative Commons License 2013.11.26 0 0 23131

Sziasztok!

Abban kérném seígtségeteket, hogy lenne egy ilyen formátumom:

 

12/szoveg1

145/szoveg2

189/szoveg3

 

A /-jel sem kellene ill. az előtte lévő számok sem. 

 

Erre milyen függvényt alkalmazhatnék?

 

Köszönöm a válaszokat!

pimre Creative Commons License 2013.11.26 0 0 23130

Még annyit kiegészítésül, hogy a ws és az összws munkalapok nem ugyanabban a munkafüzetben voltak. Most nem próbálgattam, hogy azonos munkafüzetben hogyan viselkedne a range parancs.

Előzmény: pimre (23129)
pimre Creative Commons License 2013.11.26 0 0 23129

Szia!

 

Most volt alkalmam kipróbálni az alábbi javaslatodat:

 

fejlec= ws.Range(Cells(1, 1), Cells(1, utolsóoszl)).value

összws.Range(Cells(1, 1), Cells(1, utolsóoszl)).Value=fejlec

 

Ahol a ws és az összws munkalapok, amelyeket dim ws as worksheet formában deklaráltam és set ws = Workbooks(akármi).Worksheets(másikakármi) módon adtam meg.

 

Az első sor működik, ha egyébként a ws munkalap aktív. A második azonban nálam csak akkor működött, ha kiadtam az összws.Activate parancsot.

 

 

Tehát tapasztalatom szerint a range használatához az adott munkalapnak aktívnak kell lennie. Jól látom? Erre vonatkozóan nem nagyon találtam leírást, így hosszas próbálgatás után akadtam rá a megoldásra.

Előzmény: Fferi50 (23081)
Fferi50 Creative Commons License 2013.11.22 0 0 23128

Szia!

 

Hát igen, ezeket a "trükkös" jellemvonásokat csak a tapasztalat alapján lehet kiszűrni. Még szerencse, hogy ezeken az oldalakon nagyon sok tapasztalat gyűlik össze.

 

További jó munkát!

 

 

Előzmény: tbando (23127)
tbando Creative Commons License 2013.11.22 0 0 23127

Szia!

 

Én az excellel kapcsolatban semmiben  sem vagyok biztos :)))).

 

Ebben az esetben csak annyit tudtam, hogy az ykorrvekt-t a debug a kép szerint listázta. Ami alapján én oszlopvektornak véltem. Pedig mint  most a segítségeddel rájöttem, ha így listázza tömböt, akkor az excel sorvektornak értelmezi. Hát most már ezt is tudom.

Kösz az együttmüködést.

 

A transpose szintaktikát is köszönöm. Ma nálam is müködött. Tegnap ugyanez  nem müködött, de akkor feltehetőleg egyéb hibák miatt.

 

Előzmény: Fferi50 (23126)
Fferi50 Creative Commons License 2013.11.22 0 0 23126

Szia!

 

Tuti biztos vagy az ykorrvekt szerkezetében? Az Excel ilyen esetekben nem szokott tévedni.

Szerintem az ykorrvekt vízszintes, azaz S1O4 alakú, mivel számolod(!) és nem range-ből definiálod.

Ha azt akarod, hogy S4O1 alakúnak látsszon, akkor transzponálnod kell:

Worksheetfunction.Transpose(ykorrvekt)

 

Remélem, így már működik.

 

Üdv.

Előzmény: tbando (23124)
tbando Creative Commons License 2013.11.22 0 0 23125

Érdekes ez a LIN.ILL-es megoldás. De nálam nem működik (2007-es). Nem csak a te polinomialis problémádnál, de már az excel súgó mintapéldájánál sem, pedig azt copy-paste-tal  vittem be. De csak #ÉRTÉK hibákat ereményezett. A te képletedben a kitevők kapcsos zárójelét hogy kell beírni?  Billentyúzéssel?  Meg azt sem értem minek kell transzponálni?

 

Ja és még valami! A felrakott polielo függvényemben maradt egy sajnálatos hiba, ezért a jelenlegi formájában csak a negyedfoku polinomot számolja ki. A javítása elég egyszerű. Az állandó kiszámításánál (9. pont) A For i=1 to 4 helyesen: For i=1 to fok.

 

Előzmény: NPW (23122)
tbando Creative Commons License 2013.11.22 0 0 23124

Hát bár úgy néz ki, hogy igazad van,  de a feltett udf-ben valami speiális probléma lehet Ugyanis a  

 

'bisvekt = Application.WorksheetFunction.MMult(xikorrmtx, ykorrvekt) utasítás S4O1=S4O4*S4O1 szerkezetű aminek müködni kéne, de nem müködik,

 

míg a bisvekt = Application.WorksheetFunction.MMult(ykorrvekt, xikorrmtx) pedig   S4O1=S4O1*S4O4 szerkezet, aminek nem lenne szabad müködnie, és mégis müködik.  ????

 

A matrix is és a vektor is For next-tel lett feltöltve. 

 

***********

 

Javasoltad a tanspose-t. De nem megy. A vba tömbök transponálásának mi a szintaktikája?  

Előzmény: Fferi50 (23123)
Fferi50 Creative Commons License 2013.11.21 0 0 23123

Szia!

 

A titok nyitja a mátrix algebrában van!

"Csak"  annyi a probléma a matrix szorzásnál, hogy a matrix műveleteknél nem mindegy balról vagy jobbról szorzod a mátrixokat!

Hogy ismét az Excel helpet idézzem:

"A tömb1 oszlopai számának egyeznie kell a tömb 2 sorainak számával és mindkét tömb csak számokból állhat."

 

Az első esetben a 4S*4O mátrix szorozható az 4S*1O mátrixxal (eredmény 4S*1O), de az 4S*1O mátrix nem szorozható a 4S*4O matrixxal.

 

A második esetben szintén arról van szó,hogy a két egy oszlopból álló mátrix (azaz vektor) nem szorozható direktben össze. A szorzáshoz a második mátrixot transzponálni kell (Transpose függvény!) és akkor kapsz egy egy elemű mátrixot (skalárt) eredményül.

 

Üdv.

Előzmény: tbando (23121)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!