Já taky ne, protože neznám strukturu dat. Obecně co hodnota to vzorec (pravděpodobně s rozdílným číslem sloupce).
Funkce SVYHLEDAT (VLOOKUP), nebo INDEX a POZVYHLEDAT (MATCH) to podle struktury dat na druhém listě.
Ne u mě to chybu nehlásí (Excel 2016). Možná popiš co se souborem tvoříš od jeho otevření. Několikrát sem řádky vkládal i mazal, a jak už sem psal nepodařilo se mi chybu nasimulovat.
Bohužel víc neporadím, nedaří se mi nasimulovat chybu. K té funkci fotoaparátu - co takhle místo toho použít kukátko?
Nebude na vině ten vložený objekt "Picture 53" (obdelník) viz screen?
Objekdt nelze přesunout mimo list, což se může dít, když umazáváš jednotlivé řádky.
V Excelu 2003 opravdu hlásí vzorec chybu, ale po "editaci" => F2 a Enter se umoudří a vrátí výsledek, nebo taky zabralo přepsat rok a vrátit zpět.
(Přepočet listu - automaticky)
Při psaní vzorce vyber konkrétní buňku (né oblast) do které zadej vzorec a ten následně roztáhni.
Další možností je maticový vzorec.
Maticový vzorec (CTRL+SHIFT+ENTER)
Určitě byt to šlo řešit i jinak, ale jelikož mě tlačí čas, tak jen takto v rychlosti.
Řešení pomocí maticového vzorce, zadání se ukončí trojkombinací CTRL+SHIFT+ENTER. Rozsah je nastaven na A1:A100, vzorec ignoruje prázdné buňky. Konstantu k u funkce LARGE můžeš v případě potřeby napsat číslem místo funkce ŘÁDEK().
Třeba takto:
Vše záleží na přípravě dat. Pro inspiraci můžeš kouknout na starší vlákno: http://wall.cz/index.php?m=topic&id=43043
Sub Pocet()
Dim Oblast As Range
Dim Pocet As Long
Set Oblast = List1.UsedRange
Pocet = Application.WorksheetFunction.CountIf(Oblast, "auto")
MsgBox "Počet nalezených hodnot ""AUTO"": " & Pocet, vbInformation, "POČET"
End Sub
Zapnul jsem si záznam makra a vložil Tvůj vzorec, tohle je výsledek
Sub Makro1()
'
' Makro1 Makro
'
'
Range("K2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-10]<>R[-1]C[-10],"""",IF(R[-1]C[-7]=RC[-7],"""",IF(OR(RC[-7]=""VARIO profil Voice"",RC[-7]=""VARIO profil 1"",RC[-7]=""VARIO profil 2+"",RC[-7]=""VARIO pofil 3"",RC[-7]=""VARIO profil 3+"",RC[-7]=""VARIO pofil 4"",RC[-7]=""VARIO pofil 4+"",RC[-7]=""VARIO pofil 5"",RC[-7]=""Mobilní internet BUSINESS M"",RC[-7]=""Mobilní internet BUSINESS L"",RC[-7]=""Mobilní " & _
"inUSINESS XL"",RC[-7]=""Mobilní internet BUSINESS XXL""),IF(AND(R[-1]C[-7]<>RC[-7],R[-1]C[-7]<>""Obnovení objemu dat"",R[-1]C[-7]<>""Aktivace služby"",R[-1]C[-7]<>""Jednorázové navýšení objemu dat"",R[-1]C[-7]<>""Obnovení objemu dat 1,5GB"",R[-1]C[-7]<>""poplatek za odpojení na vlastní žádost"",R[-1]C[-7]<>""Svět opakovaný L"",R[-1]C[-7]<>""Top Svět""),""změna tarif" & _
"u"",""""),RC[-7])))" & _
""
Range("K2").Select
End Sub
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.