Táblázatkezelővel (Excel / LOC) hogyan tudnék összehozni párokat megadott értékekből?
Kösz, ismerem az Fkeres-t, nem arra gondoltam, főleg mert itt a forrás 1 oszlopos "táblázat". Legyen mondjuk ez: Alma, Körte, Barack, Meggy. Kell nekem az összes kombináció, amelyik nem azonos (pl. Alma - Alma), tehát...
Alma - Körte, Alma - Barack, ... Körte - Alma, Körte - Barack, stb.
Ezt kicsit jobban kellene konkretizálni.
1. Minden sorban azonos konvencióval vannak szétválasztva az értékek?
Tehát végig: Alma - Barack (tehát szóköz-kötőjel-szóköz), vagy előfordul benne másik, akár félregépelésből, vagy hibás beemelésből fakadó forma is, pl. Alma-Barack, Alma- Barack, Alma -Barack?
2. A bal oldalon lévő értékek általában más karakterszámúak, vagy ugyanolyanok?
Tehát az első érték lehet-e egyaránt "Alma" (4) vagy "Barack" (6), vagy pedig általában ugyanannyi, pl magyar irányítószámok, amik végig 4 karakteresek?
3. Ugyanúgy a 2-es kérdés érvényes a jobb oldali értékre is.
4. Hajlandó vagy az újonnan kapott listát a művelet után manuálisan szűrni, hogy minden variációd* csak egyszer szerepeljen, vagy ezt is automatikusan akarod?
Tehát ha az A2 és A7 is Alma-Barack, akkor jó-e ha a D2/D7 és és E2/E7 cellákban is Alma és Barack legyen, tehát lefut a teljes forrásoszlop hosszában, vagy igazából csak a D2:E10 tartományban akarod látni a 9 párost (most csak mondtam valamennyit) és kész?
*Variáció: Ha automatikusan csak egyszer akarjuk őket megjeleníteni, csak függvényekkel dolgozva az Excel mindenféleképpen külön fogja kezelni az "Alma-Barack" és "Barack-Alma" variációt, ezt csak manuálisan tudod utána javítani.
1. Nem, csak itt máshogy nem tudtam szemléltetni a két oszlopot. Legyen akkor A1 "Alma", A2 "Barack"
2. Változó karakterszám, jeleztem volna, ha nem így van, és a példában is változó
3. Mivel ugyanabból a listából származnak, nyilván
4. A példában direkt szerepelt ilyen is (Alma/Körte, Körte/Alma), ezekkel nincs probléma
De azt hiszem, félreérted. Az Alma-Barack nem egy érték, hanem egy eredmény két (Alma és Barack) értékből. Vedd a per/kötőjelet cellahatárolónak. Egy érték csak egyszer szerepel a listában. Tegyük fel, hogy mondjuk fagylaltkelyheket készítünk a fenti ízekben, egy kehelyben két különböző íz van egymás fölött, és ami fölül van, az több, mondjuk 2/3 arányban, hogy némi értelme is legyen, hogy ugyanaz a páros kétszer is szerepel. Tehát szeretném látni az összes lehetséges ilyen párost.
Szerintem ezt valamilyen tömbfüggvénnyel lehetne megoldani.
Tehát neked egy listád van az A oszlopban, mindegyik cellában egyetlen szó, az ízekkel, mindegyik íz csak egyszer szerepel.
Mondjuk 4 íz.
Te pedig szeretnél egy 12 soros, 2 oszlopos táblát, ami az összes variációt adja.
Tulajdonképpen egy ilyet: [link]
Ezt sajnos kicsit csúnyácskán lehet csak megoldani, de meg lehet. A LET és LAMBDA függvényekkel az Excel függvénykészlete teljes mértékben Turing-teljessé vált.
Az én Excelem angol, ezért át kell írni magyarra, de itt van:
=LET(TC, TOCOL(A3:A6&"|"&TRANSPOSE(A3:A6)),
TB, TEXTBEFORE(TC,"|"),
TA, TEXTAFTER(TC,"|"),
FILTER(HSTACK(TB,TA),TB<>TA))
Ezt ha egy az egyben bemásolod, működni fog, az egyetlen hogy az első sorban írd át a két helyen az A3:A6-ot arra ahol valóban az értékeid vannak.
"Ezt hova kell bemásolni?"
Az első cellába ahonnan indítani akarod a kombinációk listázását. A képernyőképen lévő adatok esetében én ezt a B3-ba írtam.
"Nem pontosvesszők vannak a paraméterek között?"
Igazából erre is vonatkozott, hogy át kell írni magyarra. Régebben ez valóban egy különbség volt, hogy míg a magyar nyelvű Excelben a paraméterek között pontosvessző volt, az angolban pedig vessző. De szerintem ez már nem probléma, a magyarban is működik vesszővel.
Ha valamiért nem menne, írd át.
Akkor az lesz a probléma.
1. Az online Excel függvénykészlete, főleg a magyar nyelvűé korlátozott.
Az online Excel nem igazán támogatja az egy képlettel tömbfeltöltést. Csak az egy sort, vagy egy oszlopot töltő képleteket tudja.
2. A LET egy Excel-specifikus függvény, azon belül is csak a telepített, 365-ben. Tudtommal a LibreOffice még nem implementálta.
Itt a magyar verzió, próbáld meg így:
=LET(TC, OSZLOPHOZ(A3:A6&"|"&TRANSZPONÁLÁS(A3:A6)),
TB, SZÖVEGELŐTTE(TC;"|"),
TA, SZÖVEGMÖGÖTTE(TC;"|"),
SZŰRŐ(VÍZSZ.HALMOZÁS(TB;TA);TB<>TA))
Esetleg a többi vesszőt is írd át pontosvesszőre, ha az sem jó.
Ami fontos:
Ne közvetlenül a cellába másold be, mert úgy nem fog menni.
1. Kattints bele a cellába, de ne nyomj rögtön CTRL+V-t, hanem kattints bele a "képletsor", vagy "szerkesztőléc" (ki hogy tanulta) sávba, és oda illeszd be.
2. A gyakoriról másoláskor, az új sorban kezdődő elemeknél, beillesztéskor egy-egy üres sort rak be a sorok közé.
Azt ki kell törölni. Közvetlenül egymás alatt kell legyenek a sorok.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!