
Maticový vzorec
=SUM(IFERROR(SEARCH({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0
=SUMA(IFERROR(HLEDAT({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0
Nematicový vzorec
=SUM(COUNTIF(M2;{"*phm*";"*nafta*";"*oděv*";"*prac*";"*obuv*"}))>0
=SUMA(COUNTIF(M2;{"*phm*";"*nafta*";"*oděv*";"*prac*";"*obuv*"}))>0
alebo
=SUMPRODUCT(IFERROR(SEARCH({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0
=SKALÁRNÍ(IFERROR(HLEDAT({"phm";"nafta";"oděv";"prac";"obuv"};M2);0))>0
alebo
=SUM(LEN(SUBSTITUTE(LOWER(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<>LEN(M2)*5
=SUMA(DÉLKA(DOSADIT(MALÁ(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<>DÉLKA(M2)*5
alebo
=MIN(LEN(SUBSTITUTE(LOWER(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<LEN(M2)
=MIN(DÉLKA(DOSADIT(MALÁ(M2);{"phm";"nafta";"oděv";"prac";"obuv"};"")))<LEN(M2)
alebo
=COUNT(SEARCH({"phm";"nafta";"oděv";"prac";"obuv"};M2))>0
=POČET(HLEDAT({"phm";"nafta";"oděv";"prac";"obuv"};M2))>0
a určite aj ďalšie :)

Děkuji.
Zkusil jsem první nematicový a vypadá to, že to bude dělat to, co potřebuji.
Ještě, kdyby se dalo tohle:
{"*phm*";"*nafta*";"*oděv*";"*prac*";"*obuv*"}
Nějak nahradit tak, že bych měl někde na jiném listu pod sebou napsané ty hledané řetězce:
phm
nafta
oděv
prac
obuv
(třeba prvním sloupci Tabulky, aby byl dynamický rozsah) a ono by se to prohledalo všechno, respektive bych jen editoval (přidával nebo ubíral řetězce) tu tabulku a nemusel bych editovat vzorec.
Ale i tak každopádně děkuji.

Děkuji pánové.
Ale upřímně se přiznám, že je to na mě složité.
Ještě jsem dostal toto řešení, ale je pravda, že jsem nepsal, že bych chtěl makra.
Ale prý se ta fce dá nahrát, jako doplněk nebo mít ji součástí sešitu.
Function PROHLEDEJ(sCo As String, oblast As Range)
Dim cell As Range
Dim retezec, nalez As String
If Len(sCo) = 0 Then Exit Function
For Each cell In oblast
If Len(cell) > 0 Then
If InStr(sCo, cell) <> 0 Then
PROHLEDEJ = 1
Exit Function
End If
End If
Next cell
PROHLEDEJ = 0
End Function
a pak se použije například toto (funguje i s Tabulkou dat - phm, oděv atd. na jiném listu ve formátu Tabulky):
=PROHLEDEJ(A2;$I$3:$I$8)
(v oblasti $I$3:$I$8 jsou ta data, která se hledají)

No neviem, ale mne teda jeden vzorec, napr.
=MAX(COUNTIF(bunka s textom;"*"&oblasť hľadaných hodnôt&"*"))>0
nepríde absolútne zložitý.
EDIT: A v tom makre inak pozor. Takto to InStr nemôže byť, lebo je to CaseSensitive. Musí to byť:
InStr(1, sCo, cell, vbTextCompare)
aby to našlo aj "Prac" aj "prac". A vracal by som Boolean, nie Variant 0/1. Ja by som navyše zmenil oblasť na pole, pretože mám proste polia rád a sú väčšinou rýchlejšie. I keď tu by to zrovna v prípade, že bude nájdený pozitívny výsledok v prvých 2 bunkách, platiť nemuselo.
Function PROHLEDEJ(sCo As String, oblast As Range) As Boolean
Dim cell As Range
Dim retezec As String
Application.Volatile
If Len(sCo) = 0 Then Exit Function
For Each cell In oblast
retezec = cell.Value2
If Len(retezec) > 0 Then
If InStr(1, sCo, retezec, vbTextCompare) <> 0 Then
PROHLEDEJ = True
Exit Function
End If
End If
Next cell
End Function

Tenhle vzorec mi nefunguje.
=MAX(COUNTIF(bunka s textom;"*"&oblasť hľadaných hodnôt&"*"))>0
Jinak makro respektive funkce dobrá, děkuji.

Aha, on od vás nebyl napsaný, jako maticový a já ho jen zkopíroval a zapsal, jako obyčejný.
Děkuji