| |
| Die 10 hitzebeständigsten Materialien für den 3D-Druck, ein Fachartikel
|
Autor
|
Thema: Imei Check (5423 mal gelesen)
|
BikerBerlin Mitglied
Beiträge: 13 Registriert: 26.05.2005
|
erstellt am: 31. Mai. 2005 20:44 <-- editieren / zitieren --> Unities abgeben:
Hallo alle Zusammen, vielleicht hat einer von euch eine Lösung die in Exel machbar ist. Also ich habe eine 15 Stellige Zahl und soll nun rausbekommen, ob diese Zahl richtig eingegeben wurde. Unter der folgenden voraussetzung kann man die Zahl Überprüfen. Beispiel: 49054940314172 Zunächst wird die 2,4,6,8,10,12,14 Zahl verdoppelt. Das bedeutet 18 12 18 0 2 2 4 Nun werden die Einzelnen Ergebnisse addiert, bei zweistelligen Ergebnissen sollen die Ziffern Einzeln addiert. 1+8+1+2+1+8+0+2+2+4 = 29 Nun wird die 1,3,5,7,9,11,13 Stelle der Imei addiert 4+0+4+4+3+4+7 = 36 Beide Additionsergebnisse sollen nun addiert werden 29+36 = 65 Das Ergebnis soll nun von dem nächstgrößten Zehnerzahl subtraiert werden.
Das wäre somit 70-65 = 5 Die Lösung ist somit die 5; Nur wie kann ich soetwas komplexes berechnen? Vielleicht kann mir einer von euch helfen! Schon mal vielen vielen Dank, für jeden Tip bin ich dankbar!! Schöene Grüße BikerBerlin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2020
|
erstellt am: 31. Mai. 2005 22:02 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 31. Mai. 2005 22:46 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
..und nachdem Du das Ganze sich als eine Eingabekontrolle haben willst, kannst Du das dann noch als Funktion aufbauen. Axel Du musst jetzt aber noch verraten wie Du aus der Summe weisst, ob sie richtig eingeben worden ist :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BikerBerlin Mitglied
Beiträge: 13 Registriert: 26.05.2005
|
erstellt am: 31. Mai. 2005 23:16 <-- editieren / zitieren --> Unities abgeben:
Oh oh das ist aber peinlich, das ich mich verrechne. Na gut ich hoffe man versteht es trotzdem. Also Axel In der Spalte F gibt man die 15 Stellige Zahl ein. Um herauszufinden, das die Zahl richtig eingeben wurde. Muss sie nun wie oben beschrieben. 1. Die 2,4,6,8,10,12,14 stelle verdoppelt werden. 2. Das Ergebnis jeder Ziffer einzeln addieren. 3. Die Ziffern 1,3,5,7,9,11,13 addieren. 4. Beide Additionsergebnisse addieren. 5. Das Ergebnis von der nächstgrößeren Zehnerzahl subtrahieren. Wenn jetzt wie in dem Beispiel oben am Ende die 5 rauskommt, wurde die Zahl richtig eingegeben. Dummerweise soll ich etwa 1600 Zahlen a 15 Zeichen Überpfrüfen, ob diese Richtig eingegeben worden sind und dieses wäre manuel doch sehr aufwenig. Ich hoffe ich habe die Frage soweit jetzt besser erklärt. Gruß BikerBerlin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 31. Mai. 2005 23:23 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
Auweia seid ihr fix;-) da hock ich hier und knobel an 'ner Komplettlösung und schaffs noch nicht mal auf die Schnelle... Axel - die Frage nach der 'Kontrolle' hab ich mir allerdings auch gestellt;-) However, zu allem Überfluss noch das was mir im Kopf rumschlich als Komplettfunctionsansatz, hab' aber dann aufgehört ;;-)) lg Nancy --
Code:
Function Lmei(c As Range) As Long Dim ai%, bi%, i%, ax&, bx& ReDim a(0 To Len(c.Value) / 2) ReDim b(0 To UBound(a)) For i = 1 To Len(c.Value) If i Mod 2 = 1 Then a(ai) = Mid(c.Value, i, 1) * 2 ai = ai + 1 Else b(bi) = Mid(c.Value, i, 1) bi = bi + 1 End If Next For i = LBound(a) To UBound(a) ax = ax + a(i) bx = bx + b(i) Next Lmei = ax + bx 'hier hab ich aufgehört ;;-)) End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 01. Jun. 2005 00:03 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
Hi zusammen, ist doch ganz einfach: Code:
Private Function fncImei_Check(strNumber As String) As Integer Dim intIndex As Integer, strTemp As String For intIndex = 1 To 13 Step 2 fncImei_Check = fncImei_Check + Val(Mid$(strNumber, intIndex, 1)) strTemp = CStr(Val(Mid$(strNumber, intIndex + 1, 1)) * 2) fncImei_Check = fncImei_Check + Val(Mid$(strTemp, 1, 1)) + Val(Mid$(strTemp, 2, 1)) Next fncImei_Check = fncImei_Check Mod 10 End FunctionPublic Sub test() MsgBox fncImei_Check("49054940314172") End Sub
------------------ Gruß Nepumuk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BikerBerlin Mitglied
Beiträge: 13 Registriert: 26.05.2005
|
erstellt am: 02. Jun. 2005 18:10 <-- editieren / zitieren --> Unities abgeben:
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 07. Jun. 2005 02:04 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
|
rainberg Mitglied
Beiträge: 147 Registriert: 14.01.2005
|
erstellt am: 07. Jun. 2005 09:03 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
Hallo Biker, habe mal versucht das Ganze mit einer komplexen Formel zu lösen. Es gibt aber einen Widerspruch in deiner Frage, denn du sprichst von einer 15-stelligen Zahl, hast aber eine 14-stellige Zahl als Beispiel gegeben. Code: Formel für 14-stellige Zahl:10-REST(SUMMENPRODUKT(("0"&TEIL(TEIL(A1;2;1)*2&TEIL(A1;4;1)*2&TEIL(A1;6;1)*2&TEIL(A1;8;1)*2&TEIL(A1;10;1)*2&TEIL(A1;12;1)*2&TEIL(A1;14;1)*2;SPALTE(1:1);1))*1)+SUMME(TEIL(A1;{1.3.5. 7.9.11.13};1)*1);10)
Code: Formel für 15-stellige Zahl:=10-REST(SUMMENPRODUKT(("0"&TEIL(TEIL(A1;2;1)*2&TEIL(A1;4;1)*2&TEIL(A1;6;1)*2&TEIL(A1;8;1)*2&TEIL(A1;10;1)*2&TEIL(A1;12;1)*2&TEIL(A1;14;1)*2;SPALTE(1:1);1))*1)+SUMME(TEIL(A1;{1.3.5 .7.9.11.13.15};1)*1);10)
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 07. Jun. 2005 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
|
rainberg Mitglied
Beiträge: 147 Registriert: 14.01.2005
|
erstellt am: 07. Jun. 2005 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für BikerBerlin
Hallo Biker, im Anhang findest du eine Formelllösung, mit der du deine Zahlen prüfen und korrigieren kannst. In Spalte A stehen die zu prüfenden Zahlen, welche über die Bedingte Formatierung, bei falscher Prüfziffer rot markiert werden. In Spalte B steht die errechnete Prüfziffer. In Spalte C steht die korrigierte Zahl, wenn Prüfziffer falsch war. ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BikerBerlin Mitglied
Beiträge: 13 Registriert: 26.05.2005
|
erstellt am: 07. Jun. 2005 18:52 <-- editieren / zitieren --> Unities abgeben:
|