copilot v případě excelu často kecá, stejně jako i jiné ai.
Variace na stejné téma:
=LET(
shody; XMATCH('Vstupy A'!A1:A6; 'Vstupy B'!A1:A4);
SROVNAT.VODOROVNĚ(
FILTER('Vstupy A'!A1:D6; JE.ČISLO(shody));
ZVOLITŘÁDKY('Vstupy B'!B1:D4; DO.SLOUPCE(shody; 3))
)
)
Dnes už máme
=INDEX(ROZDĚLIT.TEXT(POLÍČKO("názevsouboru";A1);{"[";"]"});2)
Nejspíš je nabouraná knihovna vba. Odinstalujte a znovu nainstalujte. Možná bude nutné zkontrolovat před novou instalací, jestli je knihovna pryč. Jméno si nepamatuji.
v možnostech, záložka data, je nastavení automatických konverzí.
100% přesnost to nezajistí, ale dost to pomáhá.
Někde to používám. Jen z hlavy, je tam něco jako Workbook_AddinInstall.
A není to tím, že datum je ve sloupci J?
=SUMIFS(XLOOKUP(A5; Source_Board!$C$5:$C$36; Source_Board!$D$5:$O$36); Source_Board!$D$4:$O$4; "<=" & $B$4)
=SUMA(INDEX(Source_Board!$D$5:$O$35;POZVYHLEDAT(A5;Source_Board!$C$5:$C$35;0);SEQUENCE(;$B$4)))
třeba:
For i = 1 To posledniSloupec
If ws.Cells(novyRadek - 1, i).HasFormula Then
ws.Cells(novyRadek, i).Formula2 = ws.Cells(novyRadek - 1, i).Formula2
End If
Next i
nebo
For i = 1 To posledniSloupec
If ws.Cells(novyRadek - 1, i).HasFormula Then
ws.Cells(novyRadek, i).Formula2R1C1 = ws.Cells(novyRadek - 1, i).Formula2R1C1
End If
Next i
Podle toho co to má dělat.
zkus:
Sub ins()
Range("a2").FormulaLocal = "=TEXTJOIN(""; "";PRAVDA;KDYŽ(N6:AS6>0;N2:AS2;""""))"
Range("b2").Formula2Local = "=TEXTJOIN(""; "";PRAVDA;KDYŽ(N6:AS6>0;N2:AS2;""""))"
End Sub
// 1 odstranení záhlaví k Name
let
// úpravou rozsáhlé tabulky se dostanu k přibližně tomuto stavu
Zdroj = ...,
#"Přidané: Index2" = Table.AddIndexColumn(Zdroj, "Index", 0, 1, Int64.Type),
#"Radek jako table" = Table.FindText(#"Přidané: Index2", "Name"),
Vlastní1 = Table.Skip(Zdroj, #"Radek jako table"[Index]{0}),
#"Záhlaví se zvýšenou úrovní" = Table.PromoteHeaders(Vlastní1, [PromoteAllScalars=true]),
#"Odebrané sloupce" = Table.RemoveColumns(#"Záhlaví se zvýšenou úrovní",
List.Select(Table.ColumnNames(#"Změněný typ"), each Text.Start(_,6) = "Column"))
in
#"Odebrané sloupce"
// 2 redukce sloupců dle jména
let
// úpravou rozsáhlé tabulky se dostanu k přibližně tomuto stavu
Zdroj = ...,
#"Seznam jmen" = {"Rank", "St.Numb", "Name", "Start Time", "Finish Time"},
Sloupce = List.Accumulate(Table.ColumnNames(Zdroj), {}, (a, l) => if List.Count(List.Intersect({Table.Column(Zdroj, l ), #"Seznam jmen"})) > 0 then a & {l} else a),
#"Znovu Zdroj 1" = Table.SelectColumns(Zdroj, Sloupce),
#"Záhlaví se zvýšenou úrovní" = Table.PromoteHeaders(#"Znovu Zdroj 1", [PromoteAllScalars=true])
in
#"Záhlaví se zvýšenou úrovní"
Pozn. kód ... generuje chybu "Neimplementováno".
let
Zdroj = Table.FromRecords(
{
[a = 0, b = "xxx", c = "xxx", d = "xxx",e = "xxx"],
[a = 1, b = "xxx", c = "xxx", d = "xxx",e = "xxx"],
[a = 3, b = "xxx", c = "xxx", d = "Name",e = "xxx"],
[a = 4, b = "xxx", c = "xxx", d = "xxx",e = "xxx"]
}),
#"Radek jako table" = Table.FindText(Zdroj, "Name"),
#"Radek jako record" = #"Radek jako table"{0},
#"Jméno sloupce" = Record.FieldNames(#"Radek jako record"){List.PositionOf(Record.FieldValues(#"Radek jako record"), "Name")}
in
#"Jméno sloupce"
vrátí d
nebo něco jako
let
Zdroj = Table.FromRecords(
{
[a = 0, b = "xxx", c = "xxx", d = "xxx",e = "xxx"],
[a = 1, b = "xxx", c = "xxx", d = "xxx",e = "xxx"],
[a = 3, b = "xxx", c = "xxx", d = "Name",e = "xxx"],
[a = 4, b = "abc", c = "xxx", d = "xxx",e = "xxx"]
}),
jména = {"Name", "abc"},
Sloupce = List.Accumulate(Table.ColumnNames(Zdroj), {}, (a, l) => if List.Count(List.Intersect({Table.Column(Zdroj, l ), jména})) > 0 then a & {l} else a)
in
Sloupce
vrátí {b, d}
Moc to nechápu.
add najít první řádek:
Funkce Table.FindText najde první řádek, na kterém se vyskytuje hledaný text.
Pokud potřebuji jeho pozici mohu:
Nejprve přidat index funkce - Table.AddIndexColumn
pak najít text (funkce vrátí record) a číslo řádku si přečíst
nebo mohu vyhledat pozici nalezeného řádku funkcí
Table.PositionOf. tady funkce vrátí pozici
Pak odstraním předchozí řádky.
(Jsou i jiné možnosti.)
Pak první řádek dám do hlavičky a pokud znám názvy sloupců si je vyberu funkcí Table.SelectColumns.
Pokud některé sloupce chybí, je tu parametr MissingField.UseNull.
Výsledkem je tabulka se sloupci ve správném pořadí.
a nestačí
=SVYHLEDAT(A2;tabulka!$A$2:$C$6;3)
Funguje i tohle (bez "omáčky"):
Sub Makro()
ActiveSheet.Shapes("Bunka").Select
Selection.Formula = "=" & ActiveCell.Address
ActiveCell.Select
End Sub
shape : nejlépe nějaký obrázek, ale funguje i jiný. Dobrá začátek je buňku "vyfotit" a vložit do listu.
Zobrazí se to, co je ve vybrané oblasti včetně formátování a objektů nad oblastí (graf, obrázek, fotka, ...)
Ve starých verzích se nedoporučovalo překrývání = oblast by neměla zahrnovat místo, kde je obrázek, excel nezvládal rekurzi při zobrazování ...
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.