Funkce "vyhledat" pokud nehledají přesnou shodu vrací poslední hodnotu, která je rovna nebo menší než hledaná.
Pokud hledám číslo, zadám tedy co největší číslo k hledání. A protože si největší číslo v exelu přesně nepamatuji, tak dávám něco, co se k tomu blíží.
Pokud se tedy hledá např. poslední text, tak obvykle hledám "žžž" - ne moc dlouhý řetězec, aby se to neporovnávalo moc dlouho, který se při třídění zařadí nakonec seznamu.
Třeba:
=SVYHLEDAT(C6;ZVOLIT(B2;Prvni!A:R;Druhy!A:R;Treti!A:R);18;0)
V B2 je číslo listu (1,2,3, ...)
Jinak, pokud by stačilo =b1+b2, tak se to dá udělat:
Do
a1: "m", do b1: 4
a2: "k", do b2: 6
pak vybrat oblast a3:b3 a ve formátu sloučit buňky.
pak zkopírovat formát na a1:b1 a a2:b2
pak skrýt sloupec a
Pak se může napsat b1 + b2 a v buňkách bude "m" a "k".
Je to sice pitomost, ale kdo chce kam...
Když už se po novém roce teoretizuje, zkus popsat, jak po zapsání do buňky písmene "m", se excel doví, že při sčítání má použít číslo 6.
Jinak to můžeš zkusit na https://excel.uservoice.com/
nebo klasika
=IFNA(VVYHLEDAT(9E+307;B3:J3;1;1);"")
Jistě exituje, VBA. Jak jsem už psal, záznamník maker je kamarád. Stačí se pak podívat na objekty a doplnit iterace.
Filtry jsou v řadě objektů, tak jako příklad na aktivním listu tabulky a autofiltr:
Sub Makro()
Dim i As Long
Dim oList As ListObject
' tabulky
For Each oList In ActiveSheet.ListObjects
With oList.AutoFilter
For i = 1 To .Filters.Count
.Range.AutoFilter Field:=i
Next
End With
Next
With ActiveSheet.AutoFilter
For i = 1 To .Filters.Count
.Range.AutoFilter Field:=i
Next
End With
End Sub
Jo a to "pro každý sheet zvlášť", ano musí, ale může se to udělat v cyklu:
V proceduře odstraní autofiltry na všech listech:
Dim list As Worksheet
For Each list In ActiveWorkbook.Worksheets
list.AutoFilterMode = False
Next
Třeba:
ActiveSheet.ShowAllData
ps. V Excelu je záznamník maker.
No, pokud excel nebude stíhat, tak hledej checkboxy.
Narazil jsem na sešit, kde bylo na jednom listu pár desítek tis. graf prvků (nějaké ikony, checkboxy, ...). Uživatelům se podařilo nastavit rozměry na 0, tak nebyly vidět a ctrl-c ctrl-v je geometricky namnožilo. List se zobrazoval docela dlouho. Na druhém listu těch prvků bylo jen necelých 200 tis. List se zobrazoval cca minutu. Ani smazání objektů nebylo snadné, při pokusu vymazat celou collection, excel padal.
Nevím jakou verzi používáte, pokud je to něco novějšího než je 2010, tak normálně kontingenční tabulka s daty v datovém modelu. Pak je v agregacích i počet unikátních hodnot.
např. do R2:
=KDYŽ(A(Y$1>=$B2;Y$1<=$C2);MIN($E2-8*(Y$1-$B2);8);"")
Není ani jasné, co má být výstupem. Je to interaktivní graf, pole 60 x X grafů, ...?
Obecně: Napřed pq načte data. Data se mohou podle potřeby agregovat a uloží se podle potřeby do datového modelu nebo do tabulky.
Pokud by to měl být interaktivní graf řízený kt, tak je vhodné vyrobit kopii kt prostými odkazy, případně převést KT na vzorce. Nad tím už jde dělat jakákoliv graf.
Jinak podle potřeby...
Magdice napsal/a:
... potřebuji na 7 pozici dodat lomítko ...
Mělo by to jít i bez pomocného sloupce. Filtr kalendářních dat umí dnes, včera, poslední týden, ...
A definici filtru lze uložit do vlastního zobrazení.
Jde to:
První otázka:
// načtení tabulky pohlavie do tabulky pohlavie
// pohlavie
let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabulka3"]}[Content]
in
Zdroj
// Načtení tabulky dáta
// dáta
let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabulka1"]}[Content],
// konverze tabulky pohlavie do tvaru vhodného pro připojení
// není to nezbytné, vše lze dělat mnoha způsoby
MenoPohlavie = Table.UnpivotOtherColumns(pohlavie, {}, "Pohlavie", "Meno"),
// spojení tabulek
#"Sloučené dotazy" = Table.NestedJoin(Zdroj, {"Meno"}, MenoPohlavie, {"Meno"}, "MenoPohlavie", JoinKind.LeftOuter),
#"Rozbalené Pohlavie" = Table.ExpandTableColumn(#"Sloučené dotazy", "MenoPohlavie", {"Pohlavie"}, {"Pohlavie"})
in
#"Rozbalené Pohlavie"
Druhá otázka:
// načtení Suma2 do tab "Suma2"
// Suma2
let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabulka8"]}[Content],
#"Změněný typ" = Table.TransformColumnTypes(Zdroj,{{"Typ", type text}, {"Suma2", Int64.Type}})
in
#"Změněný typ"
// Data2
let
// Načtení data2
Zdroj = Excel.CurrentWorkbook(){[Name="Tabulka6"]}[Content],
#"Změněný typ" = Table.TransformColumnTypes(Zdroj,{{"Typ", type text}, {"Deň", type text}, {"Suma", Int64.Type}, {"Suma2", type number}}),
// celková suma v data2 podle dne:
SumaDen = Table.Group(#"Změněný typ", {"Deň"}, {{"SumaDen", each List.Sum([Suma]), type number}}),
// Připojení koeficintů k řádkům
#"Sloučené dotazy" = Table.NestedJoin(#"Změněný typ", {"Deň"}, Suma2, {"Typ"}, "TabSuma2", JoinKind.LeftOuter),
#"Rozbalené TabSuma2" = Table.ExpandTableColumn(#"Sloučené dotazy", "TabSuma2", {"Suma2"}, {"TabSuma2"}),
#"Sloučené dotazy1" = Table.NestedJoin(#"Rozbalené TabSuma2", {"Deň"}, SumaDen, {"Deň"}, "SumaDen", JoinKind.LeftOuter),
#"Rozbalené SumaDen" = Table.ExpandTableColumn(#"Sloučené dotazy1", "SumaDen", {"SumaDen"}, {"SumaDen"}),
// Do dalšího sloupce přidáme výpočet podle vzorce
#"Přidané: Vlastní" = Table.AddColumn(#"Rozbalené SumaDen", "Suma2_pq", each [Suma]*[TabSuma2]/[SumaDen])
in
#"Přidané: Vlastní"
Raders486 napsal/a:
Jde o to, že právě nevím jak
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.