Hirdetés
- Apple asztali gépek
- HiFi műszaki szemmel - sztereó hangrendszerek
- Bluetooth hangszórók
- Egyre inkább szoftverrel segítene a Core CPU-k teljesítményén az Intel
- AMD vs. INTEL vs. NVIDIA
- Túllépne a DRAM limitjein a Neo Semiconductor-féle 3D X-DRAM
- TCL LCD és LED TV-k
- Lítium-ion/Li-ion akkumulátorok
- Vezetékes FEJhallgatók
- Fejhallgató erősítő és DAC topik
-
PROHARDVER!
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
-
ny.janos
tag
A felvetés jogos. Megkérdeztem. Dinamikus segédtartományt javasol minden oszlopra szűrővel külön-külön. Nem tudom szerinte ez miért annyival jobb, mint a PQ-vel külön beolvasni az oszlopokat.
Copilot
Igen – az Excel 365 dinamikus tömbfüggvényeivel ma már van elegánsabb, „profibb” megoldás, és pontosan arra a problémára, amit leírsz:
dinamikus adatérvényesítés, üres elemek nélkül, PQ‑frissítésre automatikusan reagálva, makró nélkül, és anélkül, hogy oszloponként külön PQ‑lekérdezést kellene csinálnod.
Az alábbi megoldás kifejezetten O365-re optimalizált, és szerintem a mostani tervednél tisztább.
A probléma lényege – miért jelenik meg az üres elem?
Amikor:
PQ‑vel betöltesz egy több oszlopos táblát,
az oszlopok hossza eltérő,
majd fix téglalapként hozol létre névvel ellátott tartományokat,
akkor az Excel a teljes oszlophosszt veszi figyelembe, és ahol elfogynak az értékek, ott üres cellákat is listáz, az adatérvényesítés pedig:
ezeket felveszi a listába,
és az első elem (gyakran az üres) lesz az aktív.
Ez klasszikus korlátja a „régi” névtartomány-logikának.
A modern (365‑ös) megoldás alapelve
Ne a nyers PQ‑táblát add meg adatérvényesítés forrásának,
hanem:
minden oszlopra hozz létre egy dinamikus, „szűrt” segédtartományt
ami:
csak a nem üres értékeket tartalmazza
automatikusan bővül/szűkül
és erre a dinamikus tömbre hivatkozik az adatérvényesítés
Ehhez nem kell VBA, sem oszloponként külön PQ.
Konkrét, jól bevált megoldás
Kiindulás
Tegyük fel, hogy PQ‑vel betöltöd a táblát:
neve: PQ_Lista
oszlopok fejlécei:
Termek, Szolgaltatas, Regio, stb.
a lista egy másik fájlban van → ez nem gond
1️⃣ Dinamikus segédtartomány létrehozása (FILTER)
Hozz létre egy segéd munkalapot (pl. „DV”), és minden oszlophoz 1 képletet.
Példa – Termek oszlop:
Excel=FILTER(PQ_Lista[Termek]; PQ_Lista[Termek]<>"" )További vonalak megjelenítése
Ez:
eldob minden üres cellát
dinamikusan követi:
a PQ frissítést
az elemszám változását
csak valódi listát ad vissza
👉 Ez tömbként kifolyik lefelé (spill).
Ugyanezt megcsinálod a többi oszlopra is:
Excel=FILTER(PQ_Lista[Szolgaltatas]; PQ_Lista[Szolgaltatas]<>"")=FILTER(PQ_Lista[Regio]; PQ_Lista[Regio]<>"")További vonalak megjelenítése
2️⃣ Név hozzárendelése a kifolyó tartományhoz
Most jön a kulcsfontosságú rész.
Ha a képlet pl. a DV!A2 cellában van, akkor automatikusan létrejön egy
kifolyó tartomány: DV!A2#
Képletek → Névkezelő → Új
Név:
Plain TextTermek_listaTovábbi vonalak megjelenítése
Hivatkozás:
Plain Text=DV!A2#További vonalak megjelenítése
⚠️ A # NAGYON fontos – ez jelzi a teljes dinamikus tömböt.
Ugyanezt megteszed a többi oszlopra is.
3️⃣ Adatérvényesítés beállítása
Most már az adatérvényesítésnél nem táblát, nem oszlopot, hanem NEVET használsz:
Adat → Adatérvényesítés
Engedélyez: Lista
Forrás:
Excel=Termek_lista``További vonalak megjelenítése
✅ Eredmény:
❌ nincs üres elem
✅ mindig az első valós érték az aktív
🔄 PQ frissítés után automatikusan frissül
📁 több fájlban is újrahasználható
Extra finomítás (ha kell)
Ha egy oszlopban duplikátumok is lehetnek:
Excel=SORT(UNIQUE(FILTER(PQ_Lista[Termek]; PQ_Lista[Termek]<>"")))További vonalak megjelenítése
Ha az első elem biztosan ne legyen üres még hibánál sem:
Excel=IFERROR(FILTER(...); "")További vonalak megjelenítése
Összefoglalás – „best practice” O365-ben
➡️ PQ = adatforrás
➡️ FILTER = üzleti lista
➡️ Spill + név = adatérvényesítés
Ez ma az Excel 365‑ös, makrómentes, jövőbiztos megoldás erre az esetre.
Ha szeretnéd,
– mutatok egy oszlopra teljes mintafájlt,
– vagy segítek strukturálni a segédlapot, hogy sok oszlopnál is átlátható legyen.PQ-vel is megoldható, hogy csak a kapcsos zárójelben lévő szám legyen cserélendő az egyes oszlopok beolvasásához:
= Table.SelectRows(Table.SelectColumns(LegorduloListak,Table.ColumnNames(LegorduloListak){3}), each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))
Új hozzászólás Aktív témák
- Gyúrósok ide!
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Apple asztali gépek
- Programozás topic
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- HiFi műszaki szemmel - sztereó hangrendszerek
- Mikrotik routerek
- Star Citizen
- Milyen okostelefont vegyek?
- Ingatlanos topic!
- További aktív témák...
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
- 27% - ASUS Hyper M. 2 X16 V2 4X M. 2 PCI-e SSD Beépítõ Kártya!
- Apple iPhone 13 Pro Max / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:86%
- ELADÓ FÓLIÁZOTT HP EliteBook 840 G9 i7-1265U 16GB 512GB 14" FHD+ 1 év teljeskörű garancia
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50
