Přejít na obsah


Fotka

Jak v Excelu spočítat ciferný součet?


  • Pokud chcete vložit odpověď, přihlašte se
41 odpovědí na toto téma

#1 marekl

marekl

    Advanced Member

  • Members
  • PipPipPip
  • 883 příspěvků(y)

Publikováno 18 duben 2008 - 20:19

Dnes jsme s Mitákem přemýšleli, jak v Excelu spočítat ciferný součet. A ideálně tak, aby vzorec zvládnul zpracovat i očesaný tabulkový kalkulátor v PDA nebo v mobilech. Došel jsem akorát na tento vzorec: - Do buňky A10 vložit číslo, kde se má udělat ciferný součet - Do buňky B10 vložit tento vzorec: =SUMA(HODNOTA(ČÁST(A10;ŘÁDEK(A1:POSUN(A1;DÉLKA(A10)-1;0));1))) - Vzorec potvrdit kombinací Ctrl+Shift+Enter (je to maticový, ne běžný vzorec) Problémy: - Sečte pouze číslice čísla, nepokračuje až k jedné číslici - Maticové vzorce nezvládnou mobilní zařízení Nenapadá někoho, jak tohle vyřešit? Alespoň ten druhý problém. Podle mě to nejde.
  • 0

#2 alkes

alkes

    Advanced Member

  • Members
  • PipPipPip
  • 3 176 příspěvků(y)

Publikováno 18 duben 2008 - 20:41

No můžeš někam vložit čislo (třeba do A1) a pak někam tohle... =CELÁ.ČÁST(A1/1000)+ +CELÁ.ČÁST((A1-1000*CELÁ.ČÁST(A1/1000))/100)+ +CELÁ.ČÁST((A1-1000*CELÁ.ČÁST(A1/1000)-100*CELÁ.ČÁST((A1-1000*CELÁ.ČÁST(A1/1000))/100))/10)+ +A1-1000*CELÁ.ČÁST(A1/1000)-100*CELÁ.ČÁST((A1-1000*CELÁ.ČÁST(A1/1000))/100)-10*CELÁ.ČÁST((A1-1000*CELÁ.ČÁST(A1/1000)-100*CELÁ.ČÁST((A1-1000*CELÁ.ČÁST(A1/1000))/100))/10) atd... Je to sice magořina, ale maticový to neni :D
  • 0

#3 rsc_cz

rsc_cz

    Advanced Member

  • Members
  • PipPipPip
  • 876 příspěvků(y)

Publikováno 18 duben 2008 - 20:55

po poradě s http://geowiki.hidden.cz/wiki/Ciferace mi funguje tohle:
do A1 napsat ciferovaná čísla
a někam jinam tohle
=KDYŽ(A1=0;0;KDYŽ(MOD(A1;9)=0;9;MOD(A1;9)))

(testováno na WM5)
  • 0

#4 kamilek

kamilek

    Advanced Member

  • Members
  • PipPipPip
  • 50 příspěvků(y)

Publikováno 18 duben 2008 - 21:01

Nedelejte prosim chaos v terminologii. "Ciferny soucet" je opravdu jen soucet cifer cisla. To cosi, kdy opakovane provadite ciferne soucty tak dlouho, dokud nevyjde jednociferny, se nejcasteji (i tady ve wiki) oznacuje jako "ciferace". Matematicky se ciferace nejlepe vyjadri jako zbytel po deleni deviti (pokud vyjde zbytek 0 a cislo obsahovalo aspon jednu nenulovou cifru, je ciferace 9).
  • 0

#5 marekl

marekl

    Advanced Member

  • Members
  • PipPipPip
  • 883 příspěvků(y)

Publikováno 18 duben 2008 - 21:04

Alkes: Jo, to je opravdu magořina :) rsc_cz: Výborně, ciferace do jednociferného výsledku je vyřešena. Tak teď ještě přijít na rozumný vzorec pro součet jednotlivých číslic.
  • 0

#6 _Tom

_Tom

    Advanced Member

  • Members
  • PipPipPip
  • 659 příspěvků(y)

Publikováno 18 duben 2008 - 21:13

Excel moc neumím, ale co nějakou rekurzí? ciferný součet = 0 Když je dekadický logaritmus čísla větší než nula, pak ciferný součet += celá část(číslo/10^celá část(dekadický logaritmus čísla)), číslo /= 10. A znovu dokola s tím zmenšeným číslem
  • 0

#7 kamilek

kamilek

    Advanced Member

  • Members
  • PipPipPip
  • 50 příspěvků(y)

Publikováno 18 duben 2008 - 21:45

Ciferny soucet moc jednoduse nepujde, bud vzorec stylu alkesova, nebo rekurze. Ale do logaritmu bych se nepoustel, vystacil bych s mod a div (pro prirozena cisla): sum=0; dokud x>0 delej {sum+=x mod 10; x=x div 10};
  • 0

#8 ebik

ebik

    Advanced Member

  • Members
  • PipPipPip
  • 338 příspěvků(y)

Publikováno 18 duben 2008 - 23:15

No, excel je trochu hloupej, takže viz alkeš. Ale jinak nejjednodušší způsob je nahradit '' za '+' a vyhodnotit. (Nahrazování sice excel má, ale nahrazovat prázdný řetězec neumí..., přitom je to jediné logické chování co provést, když se má nahradit prázdný řetězec. No a vyhodnocování řetězce jsem v excelu už vůbec nenašel.) Jo a v excelu funguje dobře i funkce ČÁST(A1;2;1) sice to vrátí druhou číslici jako text, ale hned jak ji pokusíte s něčím sečíst tak se správně převede na číslo. Problém je že pokud si řeknete o číslici která tam už není tak to vrátí prázdný řetězec, to ale spraví konkatenace s nulou. Takže ciferný součet pro 4 cifry může vypadat takhle: = ( 0 & ČÁST(A1;4;1) ) + ( 0 & ČÁST(A1;3;1) ) + ( 0 & ČÁST(A1;2;1) ) + ( 0 & ČÁST(A1;1;1) ) EDIT: teda teď jsem se pořádně na to alkešovo podíval, no neni to moc zoptimalizované, takže alkešovo stylem raději takhe (do 4 cifer): =CELÁ.ČÁST(MOD(A1/1000;10))+CELÁ.ČÁST(MOD(A1/100;10))+CELÁ.ČÁST(MOD(A1/10;10))+MOD(A1;10) Celou část a Mod lze vzájemě prohazovat. EDIT2: #hodnota u ČÁST(A1,2,1) vzniká až sečtením prázdného řetězce, odstavec opraven. EDIT3: Teď jsem si přečet pořádně co dělá ten mareklův vzorec a koukám, že jsem objevil ameriku. Takže nejjednodušší je asi napsat si do A1 číslo, do B1 =SUMA(C1:Z1) a do C1 napsat hodnotu =0+(0&ČÁST($A1;SLOUPCE($C1:C1);1)) a pak si nakopírovat obsah c1 do d1, e1 až kolik cifer budete potřebovat.
  • 0

#9 Numira

Numira

    Advanced Member

  • Members
  • PipPipPip
  • 585 příspěvků(y)

Publikováno 19 duben 2008 - 16:20

Asi budete štěkat, že to není k tématu vlákna, ale mě přijde počítání ciferného součtu excelem jako lov na vrabce protiletadlovým kanónem - to je takovej problém to sečíst z hlavy? Na zamyšlení: Kolik ciferných součtů spočítáte ručně za dobu, kterou strávíte vymýšlením algoritmů výpočtu c.s., čtením tohodle vlákna, odpověďmi...
  • 0

#10 polerok

polerok

    Polerok

  • Members
  • PipPipPip
  • 2 002 příspěvků(y)

Publikováno 19 duben 2008 - 16:57

Dodatek k Numirovi: Kolik ciferných součtů ročně počítáte?! Tohle se přece nemůže vyplatit, krom toho, že než to zadám do mobilu, tak na kalkulačce to mám 3x ;) Ale jinak nic proti a klidně se snažte :)
  • 0

To, ze pisu bez diakritiky je zpusobeno anglickou klavesnici...

-----------------------------------------------------------------------

Podpis? A jak se mám jako podepsat, když tu nemám pero....


#11 Sodobar

Sodobar

    Advanced Member

  • Members
  • PipPipPip
  • 455 příspěvků(y)

Publikováno 19 duben 2008 - 19:03

Tedy, já jsem sice ciferný součet v souvislosti s geocachingem počítal asi dvakrát, ale tady jde přece o to, že když se objeví zapeklitý oříšek, je třeba ho rozlousknout, i kdyby to byla kravina, ne? ;)
  • 2

#12 ebik

ebik

    Advanced Member

  • Members
  • PipPipPip
  • 338 příspěvků(y)

Publikováno 19 duben 2008 - 20:06

Já když v geocachingu sčítám 2+2 tak to dělám excelem, protože na tři matematické operace s malými čísly z hlavy připadá jedna moje chyba. No choďte se dívat o dvě desetiny minuty tam a zpátky. To radši ten excel, ve kterém můžu okamžitě a kdykoli zkontrolovat celý postup.
  • 1

#13 michal_a_jana

michal_a_jana

    Advanced Member

  • Members
  • PipPipPip
  • 426 příspěvků(y)

Publikováno 19 duben 2008 - 20:11

Sodobar napsal/a:
Tedy, já jsem sice ciferný součet v souvislosti s geocachingem počítal asi dvakrát, ale tady jde přece o to, že když se objeví zapeklitý oříšek, je třeba ho rozlousknout, i kdyby to byla kravina, ne? ;)


Jde o to, ze na vypocet v excelu se clovek muze daleko vic spolehnout, plus muze delat citlivostni analyzu, tj. hrat si se vstupy a sledovat jak se mu meni vysledek. Souradnice, ktere v excelu vylezou muzou byt rovnou zformatovany pro export do Mapsourcu, anebo se tlacitkem muzou promitnout na mapy.cz, excel automaticky muze pocitat vzdalenost od uvodnich souradnic nebo od predchozi stage,atd atd...

Jinak potvrzuju, ze ikdyz jsem z matiky mel vzdycky jednicky, tak vetsinou mam prumerne 1 chybu na kazde stagi multiny kterou pocitam na papire...
  • 1

#14 zlicinaci

zlicinaci

    Advanced Member

  • Members
  • PipPipPip
  • 1 875 příspěvků(y)

Publikováno 19 duben 2008 - 20:25

Můj návrh vychází z důkladné analýzy celého problému. Po 2dcl veltlínského zeleného navrhuji tento postup:
Číslo nepsat do jedné buňky, ale po jednotlivých číslicích vepsat do sousedních buněk, které se nakonec prostě sečtou.
Samozřejmě též musím povrdit, že i prostý součet tří číslic dokáže v reálu zapříčinit zajímavou procházku :-)
  • 0

#15 kamilek

kamilek

    Advanced Member

  • Members
  • PipPipPip
  • 50 příspěvků(y)

Publikováno 19 duben 2008 - 20:30

zlicinaci napsal/a:
Číslo nepsat do jedné buňky, ale po jednotlivých číslicích vepsat do sousedních buněk, které se nakonec prostě sečtou.

Jenze to cislo muze byt vysledkem nejakeho vypoctu...
  • 0

#16 zlicinaci

zlicinaci

    Advanced Member

  • Members
  • PipPipPip
  • 1 875 příspěvků(y)

Publikováno 19 duben 2008 - 20:35

kamilek napsal/a:

zlicinaci napsal/a:
Číslo nepsat do jedné buňky, ale po jednotlivých číslicích vepsat do sousedních buněk, které se nakonec prostě sečtou.

Jenze to cislo muze byt vysledkem nejakeho vypoctu...

To dozajista, ale otázka zněla ... (4 dcl a končím, ráno musím do práce:-)
  • 0

#17 polerok

polerok

    Polerok

  • Members
  • PipPipPip
  • 2 002 příspěvků(y)

Publikováno 19 duben 2008 - 22:59

Pravda, není to tak dávno, co jsem měl u cache vzorec 018° 1(2xC).... C bylo dva. A já suvereně dosadil, že 2x2=2 a vůbec mi to nepřišlo divné, že mi to hodilo úplně mimo trasu :D Dokonce jsem tam došel B)
  • 1

To, ze pisu bez diakritiky je zpusobeno anglickou klavesnici...

-----------------------------------------------------------------------

Podpis? A jak se mám jako podepsat, když tu nemám pero....


#18 rsc_cz

rsc_cz

    Advanced Member

  • Members
  • PipPipPip
  • 876 příspěvků(y)

Publikováno 19 duben 2008 - 23:02

Jak tak koukám, tak jsem špatně pochopil původní zadání :)

Když jsem si teď ale hrál s Excelem tak se ukázalo, že počítá s maximálně 15ti cifernými čísly (hodnoty na 16 a dalším místě nahradí nulou), takže by mělo fungovat tohle:

do A1 napsat číslo a někam jinam tohle

=KDYŽ(DÉLKA(A1)>15;"zadané číslo je příliš dlouhé (zadej max 15 číslic)";HODNOTA(0&ČÁST(A1;1;1))+HODNOTA(0&ČÁST(A1;2;1))+HODNOTA(0&ČÁST(A1;3;1))+HODNOTA(0&ČÁST(A1;4;1))+HODNOTA(0&ČÁST(A1;5;1))+HODNOTA(0&ČÁST(A1;6;1))+HODNOTA(0&ČÁST(A1;7;1))+HODNOTA(0&ČÁST(A1;8;1))+HODNOTA(0&ČÁST(A1;9;1))+HODNOTA(0&ČÁST(A1;10;1))+HODNOTA(0&ČÁST(A1;11;1))+HODNOTA(0&ČÁST(A1;12;1))+HODNOTA(0&ČÁST(A1;13;1))+HODNOTA(0&ČÁST(A1;14;1))+HODNOTA(0&ČÁST(A1;15;1)))


EDIT: přidal jsem si to do geocaching_tools.xls na http://rsc.hyperlinx...gc_programy.php
  • 1

#19 dandra

dandra

    Advanced Member

  • Members
  • PipPipPip
  • 587 příspěvků(y)

Publikováno 19 duben 2008 - 23:58

Dovolil bych si malý ciferátor pro PDA z vlastní zahrádky ;)
  • 0

#20 tonda_BM

tonda_BM

    Advanced Member

  • Members
  • PipPipPip
  • 32 příspěvků(y)

Publikováno 20 duben 2008 - 8:28

Nazdar,

já používám tenhle prográmek http://www.speedfrea...ava_midlet.html a docela mi vyhovuje. Uznávám ale, že následné možnosti zpracování výsledků jako v Excelu tomu chybí. Zase to má jiné schopnosti a třeba to někomu i pomůže.
  • 0




0 uživatel(ů) prochází toto téma

0 uživatelů, 0 návštěvníků 0 anonymních uživatelů

Reklama