Excel
hwsw famulus
hwsw at famulus.hu
Sun May 30 11:00:16 CEST 2004
> Excelbe olyan fuggvenyt keresek ami a beirt tartalmat (tobb cella mezoi osszefuzve) ugy ertelmezi, mintha az a cella fuggvenye lenne.
>
> Pl.
>
> Cella : tartalom
> A1 : "A3"
> A2 : "A5"
> B1 : sum(A3:A1) (ezt a fenti ketto cella alapjan osszehozva. Az osszefuzes csak kiirja a cellaban...)
>
> 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