excel elakadtam:(

hwsw famulus hwsw at famulus.hu
Tue Jun 1 13:41:37 CEST 2004


>A feladat:
>Cellatartalmak:

>A1:  C6
>A2:  C9
>A3:  =+OSSZEFUZ("=SZUM(";A1;":";A2;")")    

A3  =SZUM(INDIREKT(CELLA("Tartalom";A1)):INDIREKT(CELLA("Tartalom";A2)))

Szerintem ezt csinalja.....szummazza az A1 es A2 cellaban hivatkozott tartomanyt
A targybani levelem nem kaptad meg a hetvegen?
Alul ujra beidezem...

KJ


>A3-ban latszo kiiras: =SZUM(C6:C9)
>Na most ezt a fuggvenyt kellene vegrehajtani. Az A3-ban kialakulo fuggvenynek a parametereit az A1 es A2 cella tartalmazza. Tippkent az "INDIREKT" fuggvenyt >kaptam, de azzal nem bodogultam. #HIV hibat kaptam...

>Koszonom, Robi

---------------------------------------------------------------------------------
A cella es az indirekt fuggvenyek a Te barataid.....a helpen kivul :-)

Nos, legyen egy ilyen tablazatod:

A1  tartalma D1
B1 tartalma D4

D1 tartalma 40
D2 tartalma 50
D3 tartalma 10
D4 tartalma 20

es ekkor ha a.....

C1 tartalma =SZUM(INDIREKT(CELLA("Tartalom";A1)):INDIREKT(CELLA("Tartalom";B1)))

akkor a C1 cellaban bizony ott vigyorog a neked a 120 !!!
azaz a ketszeresen indirekt hivatkozas szummaja a D1:D4 tartomanybol...

KJ

P.S.

Amugy osszetetteb vagy algoritmust igenylo esetekre javaslom 
a feladat megoldashoz a nagyon kenyelmesen hasznalhato 
sajat VBA (VisualBasicApplication) fuggveny irast amit az
excel alapbol tamogat mivel ugye szabadon programozhato, szegeny para...
(A sokat szidott MS "ajandeka" ez az office reszekhez)

Eszközök-Macro-VisualBasic es ott is a munkaablak elotted:-)

pl.  egy sajat fuggveny ami a hivatkozott cellaban levo vonalkodhoz kiszamolja az ellenorzo szamot
(uj modulba kell tenni es nem a munkalapra!)

ez van a B9299-es cellaban:
      599636207389 

es ezt teszi a hivott cellaba:
      5996362073897 
azaz a vonalkod vegere kiszamolja a 7-est

A cellabol igy hivodik a fuggveny:

=Format_UPC_String(B9299)

a forras kodja pedig:

Function Format_UPC_String(InString As String) As String
    
    Dim OutString As String
    Dim Multiplier As Integer, Sum As Integer, i As Integer
    Dim CheckDigit As Integer
    '
    '   Initialize the sum to zero
    '
    Sum = 0
    '
    '   Add up the values of digits in the odd-numbered positions
    '
    
    For i = 2 To Len(InString) Step 2
        Sum = Sum + Val(Mid$(InString, i, 1))
    Next i
    '
    '   Multiply this result by 3, then add in the values of
    '   the digits in the even-numbered positions
    '
    Sum = Sum * 3
    
    For i = 1 To Len(InString) Step 2
        Sum = Sum + Val(Mid$(InString, i, 1))
    Next i
    
    
    '
    '   Now calculate the Modulo 10 check digit
    '
    CheckDigit = Sum Mod 10
    CheckDigit = 10 - CheckDigit
    If CheckDigit = 10 Then
        CheckDigit = 0
    End If
    OutString = InString + Format$(CheckDigit)
    Format_UPC_String = OutString

End Function

(kod Copyright by WEB)




More information about the Elektro mailing list