Příspěvky uživatele


< návrat zpět

Strana:  1 2 3 4 5 6 7 8 9   další » ... 39

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í ...

Pokud budete mazat každý řádek zvlášť tak to bude pomalé vždy.
Rychost odstranění výběru závisí na počtu bloků ve výběru,
tj. je nutné odstaňované řádky spojit do jednoho souvislého bloku.
Řazení je v Excelu také dost rychlé.

Na psaní kódu nemám čas, tedy aspoň shrnu postup:

1. do pomocného sloupce zapamatovat pořadí řádků (není nutné)
2. do pomocného sloupce označit řádky k výmazu 'makrem, vzorcem)
3. seřadit všechny řádky tak, aby řádky k výmazu byly v jednom bloku na konci tabulky
4. smazat označené řádky
5. seřadit zbylé řádky v původním pořadí (pokud to potřebujeme)
6. vymazat pomocné sloupce.

Součástí mso je také nástroj Spreasheet Compare.
Pro rychlý náhled na změny stačí. Chytá i změny vzorců, formátování, ...

Je v nástrojích mso...

Ok, už je to jasnější.

dvě verze, v obou se musí nastvit informace o poloze.
1) Musí se ručně nastavit, kde je odpovídající pole
Requirements,
v rámci skupiny lze kopírovat
=LET(
_Requir; $B$7;
_zaklRadek; ŘÁDEK(_Requir) - 1;
_WD; $D$1:$W$1;
_WN; SLOUPCE(_WD);
x; XLOOKUP(
PRAVDA;
POSUN(_Requir; 2; 2; 1; _WN) < 0;
_WD;
0;
0
);
sum; SUMA($D$1:x; -x);
_x5; POSUN(x; _zaklRadek + 2; -1);
_y3; POSUN(x; _zaklRadek; );
IFERROR(sum + _x5 / (_y3 / x); "N/A")
)


2) stačí ukázat aktuální řádek, pak je možné kopírovat přes všechny skupiny (pokud se zachová struktura)

=LET(
pozice; A5;
aktKey; POSUN(
pozice;
0;
2 - SLOUPEC(pozice)
);
Key; POSUN(
aktKey;
-MIN(3; ŘÁDEK(aktKey) - 1);
0;
4
);
_Requir; XLOOKUP($B$3; Key; Key);
_zaklRadek; ŘÁDEK(_Requir) - 1;
_WD; $D$1:$W$1;
_WN; SLOUPCE(_WD);
x; XLOOKUP(
PRAVDA;
POSUN(_Requir; 2; 2; 1; _WN) < 0;
_WD;
0;
0
);
sum; SUMA($D$1:x; -x);
_x5; POSUN(x; _zaklRadek + 2; -1);
_y3; POSUN(x; _zaklRadek; );
IFERROR(sum + _x5 / (_y3 / x); "N/A")
)


Verze s liší jen úvodem, ve druhé se hledá první řádek skupiny.

+ pokud přibudou další Wxx, musí se upravit proměnná _WD. (ručně nebo pomocí xlookup...)

Jak jsem už psal, popis požadavku nic moc. Co znamená stahovat na další řádky? Na řádek 4 nebo 5 ????

Obecně:

1. Asi nevíte, jaký je rozdíl mezi absolutním a relativním odkazem. Znak $ v odkazu $D$1 znamená absolutní odkaz na buňku D1, tj. při kopírování vzorce odkazuje stále na stejnou buňku. Pokud to chcete kopírovat jinam, tak odkaz změňte na relativni => znaky $ v odkazu smažte.

2. Ve funkci let můžete záměnou posledního parametru sledovat výpočet.

3. Není dobré používat vzorce, kterým nerozumíte.

Vůbec to nechápu, popis a přiložený vzorec moc dohromady nejdou...

Funkce xlookup vrací odkaz...

=LET(
x; XLOOKUP( PRAVDA;
$D$5:$W$5 < 0; $D$1:$W$1;
0; 0);
sum; SUMA($D$1:x; -x);
_x5; POSUN(x; 4; -1);
_y3; POSUN(x; 2; );
IFERROR(sum + _x5 / (_y3 / x); "N/A")
)

Obecně bych tohle vše řešil přes datový model. Dvě tabulky:

V jedné datum a částka, a zřejmě ještě něco, ve druhé datum a rate.

k tomu kalendář. v Excelu se v datovém kodelu generuje automaticky na kliknutí.

Tabulky jsou spojeny relací s kalendářem přes datum.

Pak jednoduchá míra, které provede násobení částka * rate, případně výsledky sečte podle výběru a výstup přes kont.tabulku.

Nebo první tabulku z pq nahrát do listu a současně do datového modelu a primitivně počítaný sloupec částka * rate v datovém modelu. Sloupec se automaticky objeví v listu.

Zkuste

=DO.SLOUPCE(A2:B11)

Obrázek moc neříká. Předpokládám, že data jsou v datovém modelu.
Tam máte místo počítaných polí míry (měřítka) - jazyk DAX nebo můžete upravit datové sady - jazyk MDX. To druhé začátečníkům nedoporučuji.

@elninoslov
Pokud chci vypsat všechna čísla
=REGEXEXTRACT(E1;"\d+";1)
Pokud jen čísla v hranatých závorkách
=REGEXEXTRACT(E1;"\[(\d+)\]";2)

(pokud chápu správně popis funkce, tak 1 vypíše vše nalezené, 2 vypisuje nalezené skupiny)

Testování předcházejících nebo následujících znaků používám jen když to jinak snadno nejde.

Dej prostor umělému hlupákovi a vymyslí...
Já bych v tomto případě použil
=REGEXEXTRACT(E1;"\d+";0)

Netestováno, potřebuji pracovat a to insider verze nepodporuje.

Nastavte zarovnání v buňce nahoru a povolte zalamování textu.

Neuvádíte verzi excelu.
Pokud je novější excel, tak rozdělení textu do více řádků lze snadno zařídit:

=ROZDĚLIT.TEXT(SVYHLEDAT(H2;$B$2:$C$11;2;0);;ZNAK(10))

nebo
=FILTERXML("<a><b>" & DOSADIT(B5;ZNAK(10);"</b><b>") & "</b></a>";"//b")

Aha, pochopil jsem to tak, že se chce do buňky podsunout vzorec zapsaný v jiné buňce.

Takže metody, rozklíčování vzorce, ..., následné požadavky na úpravu kódu, ...

Nebo možná přes python, ale to jsem ještě netestoval.

kdo chce kam...

Pokud máte novější excel tak vytvořte ve správci názvů např. EvalStr a do odkazu vložte =LAMBDA(Formula; VYHODNOTIT(Formula))

...

Pokud váš excel funkci lambda nezná, je to složitější. Funkce VYHODNOTIT patří mezi makro funkce a je určená k použití v sešitu maker, ale pokud je uvedena v názvu, tak se vyhodnotí.

Tj. vytvořit název s odkazem =VYHODNOTIT(adresa), pozor na správné nastavení adresy.


Strana:  1 2 3 4 5 6 7 8 9   další » ... 39

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje