Excel segítség kéne. Van egy 2400 elemes listám, meg egy 210 elemes listám. A feladat, hogy a 2400-as listából kiválasszam azt a 210-et, amelyik mindkét listában szerepel, és melléjük beírjak egy megjegyzést. Hogy néz ki egy ilyen függvény?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
Kelleni fog egy HA függvény, illetve egy keresőfüggvény. Kereső függvénynek első gondolatom az FKERES, de talán a DARABTELI lenne jobb.
Valami ilyesmit próbálnék:
=HA( 0 < DARABTELI( lista1; lista2eleme ); "megjegyzés"; "" )
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
A 2400 listaelem mind rendelkezik valami egyedi, rendezhető azonosítóval? Ez esetben egy FKERES függvény tökéletes a célra.
=FKERES(<keresett_érték>,<kereső_táblázat>,[eredmény_oszlopszáma],[intervallumon_keressen])
- A keresett érték az, ami alapján keresni fogsz táblázatban, tehát a már említett egyedi azonosító.
- A kereső táblázat az a táblázat, amiben keresni fogod ezt az értéket (A táblázat első oszlopában fog keresni, erre készülj fel)
- Az eredmény oszlopszáma az, ami; ha egyezőséget talál valamelyik sorban, ez adja meg, hogy hanyadik oszlop értékét kell visszaadnia.
- És lehetőséged van intervallumban keresni, tehát nem a konkrét értékeket fogja keresni a táblában, hanem az egyes sorokban levő értékek közti intervallumban is keres. (Ennél mindenképp szükséges hogy rendezve legyenek az értékek)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Bár most, hogy újra elolvasom, neked már megvan külön a 210 és külön a 2400, és csak megjegyzést kell írnod ahhoz, ami mindkettőben szerepel. Ezesetben a következőt tudom javasolni:
=HA( HIBÁS(HOL.VAN(<keresett_érték>,<kereső_tábla>,0));"";"Megjegyzés")
A HOL.VAN első paraméterben kapja az értéket, amit keresel, másodikban az oszlopot, amiben keresel, és harmadikként egy 0-t adj meg, azt jelezve, hogy pontos egyezést keresel. Ahol nem talál egyezőséget, ott egy #HIÁNYZIK hibát fog dobni. a HIBÁS() függvény pontosan azt dönti el, hogy a HOL.VAN függvényed hibára futott-e, vagy sem. a HA függvéned pedig az általa kiköpött Igaz-Hamis válasz alapján vagy beír megjegyzést, vagy nem.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Kérdező: Gondolom inkább makróra gondolsz, hogy ne kelljen minden mind a 210, pláne 2400 cellába átmásolni - persze az sem rossz megoldás.
Iskolás módszerrel:
Sub megjegyzes()
For kis = 1 To 210
For nagy = 1 To 2400
If Worksheets("Munka1").Cells(nagy, 1) = Worksheets("Munka1").Cells(kis, 4) Then
Worksheets("Munka1").Cells(nagy, 2) = "Megjegyzés..."
'vagy akár minden elemhez külön megjegyzés: Worksheets("Munka1").Cells(kis, 5)
Exit For 'ha megtalálta, akkor nem keres további egyezést, hanem ugrik a következő elemre
End If
Next nagy
Next kis
End Sub
Kis magyarázat a testreszabáshoz:
Cells(sor, oszlop) : értelemszerűen az adott sor-oszlopszámú cella tartalmát jelenti
Cells(nagy,1) : 2400-as lista az "A" oszlopban van
Cells(kis, 4) : 210-es lista a "D" oszlopban van
Cells(nagy,2) : megjegyzések a "B" oszlopba kerülnek
Cells(kis, 5) : 210-es lista külön megjegyzései az "E" oszlopban vannak
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
> ne kelljen minden mind a 210, pláne 2400 cellába átmásolni - persze az sem rossz megoldás.
Elegendő 210-be másolni és egy duplaklikkel (a cella jobb alsó sarkára) abszolválható. :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!