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

#21 jeleniste

jeleniste

    Advanced Member

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

Publikováno 20 duben 2008 - 9:34

Velice jednoduše, ve vba si napíšu funkci
funcrion ciferace(numero) a pak jí zadam do buněk
viděl bych to nejspíš v duchu (memi to VBa syntax, musel bych to mít před sebou):
ret=0
for i in range(0:len(numero)):
ret=ret+numero[i]
  • 0

#22 jeleniste

jeleniste

    Advanced Member

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

Publikováno 20 duben 2008 - 10:04

pridat modul
Public Function cif_souc(numero1 As Integer) As Integer
Dim ret As Integer
Dim numero As String
numero = CStr(numero1)
ret = 0
For i = 0 To Len(numero)
  ret = ret + CInt(numero(i))
      
Next i

cif_souc = Len(numero)

End Function

Public Function ciferace(num As Integer) As Integer
Do While 1
 If Len(num) > 1 Then
    num = cif_souc(num)
 Else
    Exit Do
End If
Loop

End Function

hmm, ale nechce behat
bud najit chybu, nebo nainstalovat openoffice a pouzit python
  • 1

#23 jeleniste

jeleniste

    Advanced Member

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

Publikováno 20 duben 2008 - 13:34

Neni cifrovani to, kdyz moravskej sohaj stepuje a mava u toho kloboukem??
  • 1

#24 dandra

dandra

    Advanced Member

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

Publikováno 20 duben 2008 - 14:48

kamilek napsal/a:
Matematicky se ciferace nejlepe vyjadri jako zbytel po deleni deviti (pokud vyjde zbytek 0 a cislo obsahovalo aspon jednu nenulovou cifru, je ciferace 9).

Heh, funguje to hezky, ale nevím proč. Asi jsem něco četl pod lavicí místo abych dával pozor :) Má to nějaké matematické vysvětlení? (Stačí odkaz) Díky ;)

EDIT: Teď jsem to vyzkoušel v Mobile Excelu pro PDA i pod Wokny. Použití funkce MOD má v Excelu jednu podstatnou mouchu: Neumí pracovat s čísly většími než 1,207,959,551 , což nestačí pro ciferaci 15 platných číslic v souřadnicích. Takže se raději vrátím ke svému polopatickému ciferátoru.
  • 0

#25 polerok

polerok

    Polerok

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

Publikováno 20 duben 2008 - 15:54

jeleniste napsal/a:
Neni cifrovani to, kdyz moravskej sohaj stepuje a mava u toho kloboukem??


Ty VYJADŘUJ SE O NÁS VALACHÁCH A FOLKLORISTECH SLUŠNĚ! Nebo si Tě najdu :@
  • 0

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

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

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


#26 marekl

marekl

    Advanced Member

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

Publikováno 20 duben 2008 - 18:15

Díky za reakce. Pro PDA s Windows Mobile je zřejmě nejlepší Dandrova tabulka. Makro ve Visual Basicu bohužel na mobilních platformách nebude fungovat. Já sám v terénu používám program QuickSheet na Nokii E61i. Ten bohužel nezvládá funkci Hodnota, takže to asi dál budu muset dělat ručně.
  • 0

#27 dandra

dandra

    Advanced Member

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

Publikováno 20 duben 2008 - 19:15

marekl napsal/a:
Já sám v terénu používám program QuickSheet na Nokii E61i. Ten bohužel nezvládá funkci Hodnota, takže to asi dál budu muset dělat ručně.

A umí to alespoň INT, tj. zaokrouhlování dolů? Pokud ano, není problém to přepsat tak, aby v buňkách byla vždy čísla a nemuselo se pracovat s řetězci ;)
  • 0

#28 gerdik

gerdik

    Advanced Member

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

Publikováno 20 duben 2008 - 20:16

Celkem mne překvapuje kolik energie a času kačeři dávájí do "problému" součtu pár čísel. ;)
  • 0

#29 kamilek

kamilek

    Advanced Member

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

Publikováno 20 duben 2008 - 20:22

gerdik napsal/a:
Celkem mne překvapuje kolik energie a času kačeři dávájí do "problému" součtu pár čísel. ;)

řešily se tu i "závažnější" problémy ;-)
Považuj to za zadání mystery a přidej se ;-)
  • 0

#30 marekl

marekl

    Advanced Member

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

Publikováno 20 duben 2008 - 20:43

Dandra: brzy to zkusím. Teď mi nefunguje spojení s mobilem, a nechce se mi restartovat notebook :)
  • 0

#31 mitak

mitak

    Advanced Member

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

Publikováno 20 duben 2008 - 21:30

jeleniste napsal/a:
Neni cifrovani to, kdyz moravskej sohaj stepuje a mava u toho kloboukem??


Přesně! A nebýt toho, že jsme tenkrát v osmdesátým prvním pozvali na výměnný pionýrský pobyt černé bratry geokačery z Bronxu, tak by dnes neexistoval breakdance B)

Ad celé vlákno: Takhle se mi to líbí. Se jednou větou zeptám Marka, jak se dělá v Excelu ciferný součet a o pár dnů pozdějc tady máme švestičky z Danovy zahrádky :D
  • 0

#32 ebik

ebik

    Advanced Member

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

Publikováno 20 duben 2008 - 21:42

dandra napsal/a:

kamilek napsal/a:
Matematicky se ciferace nejlepe vyjadri jako zbytel po deleni deviti (pokud vyjde zbytek 0 a cislo obsahovalo aspon jednu nenulovou cifru, je ciferace 9).

Heh, funguje to hezky, ale nevím proč. Asi jsem něco četl pod lavicí místo abych dával pozor :) Má to nějaké matematické vysvětlení? (Stačí odkaz) Díky ;)


Vysvětlení je celkem jednoduché (akorát ho asi napíšu složitě).
Jedna věc je dekadický zápis: 1234 = 1000*1+100*2+10*3+1*4
Druhá věc je obecný princip, že když a a b mají stejný zbytek po dělení devíti a stejně tak c a d tak i a+b a c+d mají stejný zbytek po dělění devíti. To platí i pro násobení.
Třetí věc je, že každá mocnina desítky má zbytek po dělení devíti jedna (protože 100000 - 1 jsou samé devítky).
No a když se to dá dohromady tak to dá, že součet cifer má stejný zbytek po dělení devíti jako původní číslo. No ale součet cifer je normální číslo, takže i jeho součet cifer má stejný zbytek, a tak dále, až dostaneme jednu cifru. Ta má mít stále stejný zbytek po dělení devíti. Tím zbytkem je ale ta cifra sama pokud se nejedná o devítku.
  • 0

#33 ebik

ebik

    Advanced Member

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

Publikováno 20 duben 2008 - 21:47

Pokud by jste někdy chtěli ověřovat rodná čísla, kde se každá lichá číslice odčítá a každá sudá přičítá, tak podobnou úvahou lze dojít k tomu, že rodné číslo je dělitelné jedenácti. (protože 10 a -1 má stejný zbytek po dělení jedenácti a 100 má zbytek po dělení jedenácti 1 (99 je dělitelné jedenácti).
  • 0

#34 zde

zde

    Advanced Member

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

Publikováno 14 duben 2014 - 9:11

LOL, psát midlet na počítání ciferace.. 

 

CIFERACE(x) = ((x - 1) mod 9) + 1

 

Nula je speciální případ.


  • 0

#35 Skywalker

Skywalker

    "kašpar"

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

Publikováno 14 duben 2014 - 9:17

LOL oživovat 6 let mrtvé vlákno.

 

Zde je speciální případ.


  • 0

*


#36 Parkis

Parkis

    Parkis

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

Publikováno 14 duben 2014 - 9:18

LOL, psát midlet na počítání ciferace.. 

 

CIFERACE(x) = ((x - 1) mod 9) + 1

 

Nula je speciální případ.

 

 

1) máš šest let zpoždění ;)

2) tohle řešení už tu zaznělo

3) otázka byla na ciferný součet, ne ciferaci


  • 0

#37 Arne1

Arne1

    Advanced Member

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

Publikováno 14 duben 2014 - 10:30

Celkem mne překvapuje kolik energie a času kačeři dávájí do "problému" součtu pár čísel. ;)


asi toho máš vyluštěno hodně málo. Někdy nemáš jinou možnost, než hledat rozumné výsledky z několika set nebo dokonce tisícovek možných. A počítej to ručně, když navíc původní hodnoty můžeš měnit !
  • 0

#38 vavros

vavros

    Advanced Member

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

Publikováno 14 duben 2014 - 14:01

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

Styď se, za takto jednoduché řešení !!!


  • 0

#39 MaFa

MaFa

    Advanced Member

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

Publikováno 14 duben 2014 - 14:58

A co hodit do A1 to ciferovany cislo, do B2 =INT(A1/10) to zkopirovat postupne do C1 ... x1 a pod to do B2 =MOD(A1,10) a zkopirovat postupne do C2 ... x2 a do B1 dat sumu pres C2 ... x2. Je to nakopirovany rychle, nic slozityho a funguje to.


  • 0
MaFa

#40 Skywalker

Skywalker

    "kašpar"

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

Publikováno 14 duben 2014 - 15:26

For by byl, kdyby se třeba v tak moc starem vlakně ptala nějaka zoufala slečna, kde sehnat postinor.... a uspokojivou odpoved by si přečetla až když maly začal chodil do školy.....

to by byla dobra povidka cyberpunkoveho věku :-)
  • 5

*





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

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

Reklama