» »

SEARCH funkcija v excelu

SEARCH funkcija v excelu

bruderbauc ::

V excelu imam v stolpcu A vpisana imena in priimke ljudi (ta seznam se začne v drugi vrstici). Ko v celico A1 vpišem ime in priimek nekega človeka (na primer Janez Krajnski), želim, da se mi poleg vseh Janezov Krajnskih, ki so na seznamu, izpiše TRUE, poleg vseh ostalih imen in priimkov pa FALSE. Tako sem poleg vsakega imena in priimka v B stolpcu vpisal tole enačbo:
=IF(ISERROR(SEARCH(A$1;A2;1))=FALSE;TRUE;FALSE)

Če SEARCH v celici najde Janez Krajnski vrne stevilko, na katerem mestu je našel ti dve besedi. Zato ISERROR vrne FALSE, zaradi česar IF stavek vrne TRUE. Če SEARCH ne najde Janeza Krajnskega v celici, vrne napako zaradi česar ISERROR vrne TRUE, IF stavek pa FALSE.
To deluje lepo in prav, dokler ne napišem v celico A1 Kranjski Janez in ne Janez Kranjski. Takrat mi funkcija SEARCH vrne napako, kar pomeni, da v celici ni našla Janeza Krajnskega.
A obstaja kakšna funkcija, ki bi ji bilo vseeno za vstni red iskanih besed. Poleg tega bi bilo fajn, če bi lahko iskal še po večih besedah (nekateri ljudje imajo več priimkov).

CitroX ::

Je kakšna možnost, da ločiš imena in priimke?
Potem dodaš še AND in OR pa bi šlo...
V tvojem primeru bi verjetno moral kak makro sprogramirat, ki loči ime in primek in ju primerja...

bruderbauc ::

Ne, vse mora biti v isti celici. Če pa slučajno veš narediti kak makro, pa mi ga lepo prosim napiši (z dosti komentarji, ker nisem ravno najboljši programer na svetu).

Tutankhamun ::

Hočeš makro evo ti ga
del_iskanega_imena = Split(Cells(1, "A"), " ")
i = 2
Do While Cells(i, "A") <> ""
    del_imena = Split(Cells(i, "A"), " ")
    If del_imena(0) = del_iskanega_imena(0) Then
        If del_imena(1) = del_iskanega_imena(1) Then
             Cells(i, "B") = "TRUE"
        Else
             Cells(i, "B") = "FALSE"
        End If
    ElseIf del_imena(0) = del_iskanega_imena(1) Then
        If del_imena(1) = del_iskanega_imena(0) Then
             Cells(i, "B") = "TRUE"
        Else
             Cells(i, "B") = "FALSE"
        End If
    Else
        Cells(i, "B") = "FALSE"
    End If
    i = i + 1
Loop


Makrojček mal predeli. Tm kjer piše Cells(i, "B") = "TRUE" ali "FALSE", spremen "B" v tisto kolono kamor hočeš zapisat ta TRUE ali FALSE. Potem imena v prvem stolpcu upam da so iz dveh delov imena in priimka, drgač bo metu vn errorje :D. Ta koda se izvaja dokler ne naleti na prazno celico v koloni A. Če ti pa kej nau ušeč pa povej :D


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Excel: tiskanje po vrsticah

Oddelek: Pomoč in nasveti
7952 (865) luksorzi
»

Povezani seznam

Oddelek: Programiranje
131976 (1573) pohano
»

Calc/excel delo s tabelo

Oddelek: Programiranje
131362 (1129) salabajs
»

[excel] makro | excel -pomoc

Oddelek: Programiranje
111877 (1661) smetko
»

Visual Basic in Excel

Oddelek: Programiranje
262516 (2082) Vesoljc

Več podobnih tem