Příspěvky uživatele


< návrat zpět

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

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.

@dontom
Ten vzorec by měl vypadat takto:

=INDEX(A1:B10;POZVYHLEDAT(1;SOUČIN.MATIC(--(PROB(ŘÁDEK(A1:A10)*{1\0\0\0};A1:A10*{1\0\0\0}+{0\9\-9\1}^99;1;ŘÁDEK(A1:A10))>=3000);1);0);2)

(Řádky a sloupce mají ve vzorci význam)

Moc nedoporučuji, je založen na tom, jak excel sčítá (a zahazuje "malá" čísla). Moc lidí to nepochopí.

Pokud se nehledá přesně, pak stačí normálně

{=INDEX(B1:B10;POZVYHLEDAT(3100;SUBTOTAL(9;POSUN($A$1;;;ŘÁDEK(A1:A10)));1))}

Do listu si vlož kolečko, nastav velikost barvu, ...

vyber kolečko, ctrl-c, vyber řadu nebo bod, ctrl-v

Smaž kolečko v listu


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

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

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28

Vzorec pro zkopírování obsahu buňky.

Tonda_Hu • 5.7. 21:17