Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  25 26 27 28 29 30 31 32 33   další » ... 37

Nejvyšší hodnota, kterou lze vložit jako čas je 9999:59:59,9999

Pokud se zadá vyšší hodnota, je vložena jako text.

Nejvyšší hodnota času, kterou lze vložit pomocí funkce je 71003160:00:00,0. Tj. 31.12.9999 23:59:59, případně 2958465,999999.


Pokud budete zadávat jen hodiny:minuty (vloží se text) můžete to pro výpočet převést na čas vzorcem

=DOLLARDE(DOSADIT(A1;":";",");60)/24

Do H2:

=KDYŽ(JE.ČISLO(I2);COUNTIFS($I$2:$I$42;"<"&I2;$C$2:$C$42;C2)+1;I2)

Mrkni na "MZ-Tools for VBA 3.0"

Review Source Code hledá nepoužité promenné a nepoužitý kód.

Je to chyba v excelu.

Zkus makro:


Sub Makro()
Dim c As Range
Dim s As String

Columns("D:D").Select
Set c = Selection.Find(What:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False)
s = c.Address
If Not c Is Nothing Then
Do
c.Value = CDbl(Replace(c.Value, ".", "", compare:=vbBinaryCompare))
Set c = Selection.FindNext(c)
Loop Until c.Address = s
End If
End Sub

Mám pocit, že jsi se spletl. Tohle není úloha pro excel.

Přesuňte partnery ze stránky do řádku a nastavete pro ně stránkování po každé položce.

Nastavte opakování hlavičky při tisku.

Maticově:

=INDEX($B$3:$F$19;POZVYHLEDAT(A24;0+(ZLEVA(PROČISTIT($A$3:$A$19);NAJÍT(" ";PROČISTIT($A$3:$A$19))-1)));POZVYHLEDAT(B24;$B$2:$F$2))


Pokud by ve sloupci A nebyly na počátku textu mezery bylo by to jednodušší.

pokud je to číslo:
=SVYHLEDAT(9,9999999999E+307;A:A;1)

pokud je to text:
=SVYHLEDAT("žžžžžžžžžžžžžžž";A:A;1)

Tarran napsal/a:


V samotném excelu vlastně problém není, ani v něm nepotřebuji pracovat, nicméně po importu dat do zmíněného programu R nefunguje většina operací (počítám třeba průměry a program si z excelu místo čísel vezme data v částečně textové formě).


Proč to do R tlačíte přes excel???

Zkuste v R příkaz
? read.table
A vyberte si vhodnou funkci (read.csv() např.) nebo nastavte správně parametry importu.

Pozn. .csv je normální textový soubor.

JD80 napsal/a:

Jak to udělat, aby excel vynechávat nulové sloupce a řádky.

a z toho poté vytvoří inverzní matici.


Takto?

=INVERZE(INDEX($A$1:$C$3;{1;3};{1\2}))

K tomu řešení bez pomocných sloupců - je tu něco za něco. Bez pomocných sloupců se sloupce spojují v každém vzorci, při velkém počtu vzorců to stojí dost času a také dost zdrojů.

Nechtělo se přemýšlet, jestli seznam znamená ano nebo ne.

Proč filtr ve 2007 nefunguje nevím, tuto verzi teď nemám. Můžeš zkusit alternativu

=KDYŽ(F11<>tblCountryAF[country];NEPRAVDA;
KDYŽ(JE.NEDEF(POZVYHLEDAT(G11;tblVendorAF[vendor];0));NEPRAVDA;
POZVYHLEDAT(H11;tblSourceDataAF[cv];0)<>(ŘÁDEK(H11)-ŘÁDEK(tblSourceDataAF[[#Záhlaví];[cv]]))))

Pár poznámek.

Řešit toto bez třídění je horor. Nástroje, jako PQ, to dělají někde uvnitř.

Třídění pomůže při identifikaci položek k odstranění.
Dále doba odstraňování více záznamů z podobně velkých datech je úměrná počtu samostatných bloků. To nejhorší co lze udělat je odstraňovat položky po jedné. (Pokud je jich víc než jedna až několik.)

Pokud si zadavatel neváží svého času, zamysli se na vzorci:

=KDYŽ(
SOUČIN.SKALÁRNÍ(
(($G$11:G11&$H$11:H11)=([@country]&[@vendor]))*
([@country]=tblCountry[country])*
COUNTIF(tblVendor[vendor]; [@vendor]))

<2; "keep"; "delete")


Na každém řádku spojí sloupce porovná a vytvoří sloupce shoda/neshoda.
Každá položka vytvořeného vektoru se násobí. To se děje i v případě, že pro danou country a nebo dodavatele se duplicity nemažou.

Tedy ohromný počet výpočtů, současně SOUČIN.SKALÁRNÍ není nejefektivnější funkce.

1. Pomocný sloupec s [country]&[vendor]
2. Samostatně (více sloupců nebo vnořené KDYŽ)
když(country; nechat;
když(dodavatel;nechat;
když(unikátní;nechat;smazat)))

Tak se eliminují zbytečné operace.

K hledání unikátních položek je vhodná funkce POZVYHLEDAT (MATCH):
=POZVYHLEDAT([@country]&[@vendor];[country]&[vendor];0)


Funkce vždy najde. Stačí výsledek porovnat s akt. řádkem.

Funkce je v nejhorším případě (nejsou duplicity) stejně rychlá jako countif. Doba se zkracuje při vyšším počtu duplicit (Pokud funkce najde shodu končí, countif počítá do konce). A samozřejmě záleží na pozici v seznamu.

Lze to trochu modifikovat:
když(country; řádek;
když(dodavatel;řádek;
když(unikátní;řádek;0)))

Pak lze odstranit duplicity (zatím jsem netestoval, jestli je rychlejší odstranění duplicit nebo odstranění vybraných.)

Použijte KT.

Je to rychlejší na vytvoření i na použití.

Pokud máte Excel 365 nebo 2016, použijte MAXIFS.

1. Ve vzorci se musí násobit sloupec a řádek. Syntaxe zápisu maticových konstant se měnila. Proč, to ví asi jen ms. Dříve středník odděloval sloupce, nyní se sloupce odělují zpětným lomítkem a středník odděluje řádky. Záleží na verzi excelu.

2. Kromě toho, že vzorec funguje, víte jak to funguje?
Pokud ano, zkuste odhadnout kolik zkušených uživatelů ho pochopí. Používání podobných vzorců nepovažuji obvykle za dobrý nápad. Ale nic proti gustu.


Strana:  1 ... « předchozí  25 26 27 28 29 30 31 32 33   další » ... 37

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse