- eBay-es kütyük kis pénzért
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- MasterDeeJay: Gigabyte GA-B350M-D2 - AM4 lap 2016-ból amikor még nem volt Ryzen!
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- aquark: Jó platformer játékokat keresek!
- ricsi99: 6. Genes alaplap tündöklése.. kontra MS/Zintel korlátozásai.(Mehetnek a levesbe)
- sellerbuyer: Nem veszélytelen a RAM duplázás de vajon megéri?
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
válasz
nova001 #18973 üzenetére
Hello,
...akarok egy lenyiló listát amibe abc sorrendbe vannak a nevek és ha elkezdek gépelni kidobja a javaslatot ?? vagy valami ehhez hasonlo...
Ha fontos, hogy gépeléskor már feljöjjön a javaslat, akkor csakis ActiveX combobox-al oldható meg a feladat.
VBA-val megoldható, hogy dinamikus tartományból ABC sorrendben legyen feltöltve a combobox.Ha elég hogy egy legördülő listából válasszon a felhasználó, akkor viszont az Adatérvényesítés is működik.
Ehhez az eredményhez kell pár előkészület:
1. Javasolt dinamikus tartományokat létrehozni, hogy a képletek rövidebbek legyen és kezeljék az újonnan bevitt adatokat.
A példámban 3 db dinamikus tartományt definiáltam.
Az első a bementi listát adja vissza, neve EredetiLista.
Képlete: =ELTOLÁS(Munka1!$B$2;0;0;DARAB2(Munka1!$B:$B)-1)
A második a bemeneti lista ABC sorrendjét adja vissza, neve ABCSorrend.
Képlete: =ELTOLÁS(Munka1!$C$2;0;0;DARAB2(Munka1!$B:$B)-1)
A harmadik pedig a végeredményt, ABC sorrendben az egyedi értékeket mutatja, neve: ABCLista
Képlete: =ELTOLÁS(Munka1!$D$2;0;0;DARABTELI(Munka1!$D:$D;">""")-1)2. Ezek után kezdhetjük az ABC sorba rendezést, ehhez a DARABTELI függvény használható.
A képlet ennyi: DARABTELI(bemeneti tartomany;"<"&vizsgált cella).
Ez megmondja hogy a vizsgált cella hanyadik a tartományban ABC sorrend szerint. pl. 2 azt fogja jelenti, hogy van előtte 2 találat.
A C2-es cellába ez a képlet menjen: =MAX(DARABTELI(EredetiLista;"<"&EredetiLista))
Ezt a képletet jó sokszor le kell másolni, hogy minden elem biztosan le legyen ellenőrzíve.3. A C-oszlopban tehát visszakapjuk a sorrendet, de mivel az eredeti listában is lehet ismétlődés ezért a sorrendben is lesznek azonos értékek. Ezért mielőtt megkeressük a legkisebb sorszámot ezt a listát ismétlődés mentessé kell tenni. Ehhez a Gyakoriság függvény használható fel többek között, a megoldásban a ABCSorrend/(GYAKORISÁG(ABCSorrend;ABCSorrend)>0) állítja elő a kívánt eredményt.
Megvan az egyedi sorrend, így már csak sorban ki kell olvasni növekvő értékben a számokat, Ez tipikusan a KICSI függvénnyel oldható meg. A megoldásomban az ÖSSZESÍT függvény paraméterezésével hívtam meg a KICSI függvényt, ennek az az előnye, hogy a hibás adatokat az ÖSSZESÍT függvény ki tudja automatikusan hagyni nem kell plusz képleteket beírnom.
Végre tehát megvan a sorrend, vagyis {0;1;2;3;4;5}. Innen már könnyen csak ki kell iratnom azt a cégnevet amely a 0 mellett található a B oszlopban. Ehhez az INDEX függvényt és a HOL.VAN-t használtam.
A fentiek alapján állt elő ez a hosszú képlet a D2-es cellában:
=HAHIBA(INDEX(EredetiLista;HOL.VAN(ÖSSZESÍT(15;6;ABCSorrend/(GYAKORISÁG(ABCSorrend;ABCSorrend)>0);SOROK(D$2:D2));ABCSorrend;0));"")
Ezt is jó sokat le kell másolni a D-oszlopban.Készen is vagyunk, már csak egy adatérvényesítést kell megadnunk az egyik cellára, a listának a ABCLista függvényt használva.
A fentiek egyrésze Mike Girvin ötletén alapul!
üdv
Új hozzászólás Aktív témák
Hirdetés
- Xiaomi 13T / 8/256GB / Kártyafüggetlen / 12Hó Garancia / AKCIÓÓÓ !
- Samsung Galaxy A23 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS3462 96% Akkumulátor
- HP EliteBook 840 G7 i5-10210U 16GB 512GB 1 év garancia
- Keresek több darab DDR4 memóriát - 8 - 16 GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest