Office: Erlang C

Helfe beim Thema Erlang C in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, ich habe ein Problem. Und zwar möchte ich die Erlang-C-Formel mit VB in Excel berechnen. Kann mir das einer machen? Nein, Spaß. So einer bin ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Pyrgo, 13. Januar 2007.

  1. Erlang C


    Hi,

    ich habe ein Problem. Und zwar möchte ich die Erlang-C-Formel mit VB in Excel berechnen.

    Kann mir das einer machen?

    Nein, Spaß. So einer bin ich nicht. *tongue.gif*

    Mein Ansatz (bzw. ist er in meinen Augen fast fertig) ist im Anhang. Nur spuckt er manchmal eine Division durch 0 aus. Wahrscheinlich liegt das ein einer der beiden funktionen, die ich eingebaut habe.

    Drückt einfach mal Calculate in der Tabelle und ihr werdet es sehen.

    Da ich noch ein rechter Junger in VB bin, hoffe ich, dass ihr mir helfen könnt, wie ich den Fehler wegmache.

    Falls jemand noch Fehler in der Formelberechneung findet, wäre ich über Hinweise auch ehr dankbar.

    Quelle: http://www.erlangc.de/

    Formel: http://www.erlangc.de/images/ErlangC-Formel.gif

    P.S.: Berechnen will ich den Servicelevel.

    Danke schon im Vorraus

    Pyrgo

    :)
     
  2. hiho

    Tipp:

    statt der Funktion Fakultät
    WorksheetFunction.Fact(N)
    und bei der function summe wird die variable a nicht mitgegeben, und variable e ist nicht def. Variable calls genauso

    ansonsten bin ich bei deinem Konstrukt noch nicht ganz durchgestiegen
    aber ich würde empfehlen das ganze ein wenig zu splitten
    und nicht versuchen die komplette Formel auf einmal auszuwerten.
    (erleichtert auch die Fehlersuche)

    sry, dass ich noch keine Komplettlösung habe
     
    chris-kaiser, 15. Januar 2007
    #2
  3. Hi Pygro,

    in Zeile 41 verwendest Du eine un bekannte Variable (Calls). Ich nehm,e an, das soll T_Calls sein?
     
  4. Erlang C

    hiho

    so habe das mal so belassen wie Du es gepostet hast.



    VBA technisch geht es aber......
     
    chris-kaiser, 15. Januar 2007
    #4
  5. Hi,

    danke für eure Hilfe. Da das eine Aufgabe für mein Praktikum ist, beschäftige ich mich morgen damit. Aber ihr habt mir schon sehr geholfen.

    Danke!

    Pyrgo
     
  6. Hi,

    Also, ... ich habe eure Tipps angewendet (teils zumindest :P). Beim errechnen von Teil_2 spuckt er mir fast immer aus: Unverträgliche Typen.

    Gruß

    Pyrgo

    P.S.: Mein aktueller Stand ist im Anhang.
     
  7. hiho

    hmm, N as double

    und bei der Übergabe agents as integer
    ??

    Du hast da fehlerhafte Variablendef. und Deklarationen

    p.s Bsp.
    dim var1, var2, var3 as integer

    da sind var1, var2 als Variant def.
    ist Dir das bekannt?
    nur var3 wäre ein Integer.
     
    chris-kaiser, 15. Januar 2007
    #7
  8. Erlang C

    Hi,

    nein, das wusste ich nicht. Bzw. war mir das nicht bewusst. Das kommt davon, wenn man jahrelang mit Borland Delphi arbeitet.

    Ich habe mein Ergenis wieder im Anhang. Der Fehler ist derselbe. So wirklich kenn ich den Unterschied zw. Variant und Double nicht.

    Die Hilfe kann es mir auch nicht vertickern. :P
     
  9. hiho

    jetzt sehe ich es erst
    du gibst einen String zurück und möchtest damit rechnen

    geht das nicht?

    Code:
     
    chris-kaiser, 15. Januar 2007
    #9
  10. Hi,

    du hast recht. So funktioniert es. Aber es treten andere Fehler auf.

    Naja ... morgen kommt zum Glück meine VB - Referenz für Excel mit der Post. *freu*

    Ich verzweifel langsam ...

    MfG
     
  11. hiho

    du hast ja jetzt überall integer verwendet?

    Dim T_Caller As Double 'Durchschnittliche Berabeitungsgebühr
    Dim T_Calls As Double 'Durchschnittliche Dauer von Gesprächen
    Dim T_Service As Double 'Zeit d. Servicelevels
    Dim Agents As Double 'Agenten

    'Aufsplittung der Formel in 6 Teile

    Dim Teil_1 As Double
    Dim Teil_2 As Double
    Dim Teil_3 As Double
    Dim Teil_4 As Double
    Dim Teil_5 As Double
    Dim Teil_6 As Double

    überlauf beteutet das du ausserhalb des Wertigkeitsbereiches liegst!!!

    Einstellung Beschreibung Dezimale Genauigkeit Speichergröße
    Byte Speichert Zahlen von 0 bis 255 (keine Bruchzahlen). Keine 1 Byte

    Integer Speichert Zahlen von -32.768 bis 32.767 (keine Bruchzahlen). Keine 2 Bytes
    Long Speichert Zahlen von -2.147.483.648 bis 2.147.483.647 (keine Bruchzahlen). Keine 4 Bytes
    Single Speichert Zahlen von
    –3.402823E38 bis –1.401298E–45
    für negative Werte und von
    1.401298E–45 bis 3.402823E38 für positive Werte. 7 4 Bytes
    Double Speichert Zahlen von
    –1.79769313486231E308 bis
    –4.94065645841247E–324
    für negative Werte und von
    4.94065645841247E–324 bis
    1.79769313486231E308 für positive Werte. 15 8 Bytes
     
    chris-kaiser, 15. Januar 2007
    #11
  12. Hi,

    jep. Es funktioniert. Nur die Formel nicht. Ich erhalte keinen Prozentsatz. Irgendwie bekomme ich eine negative Dezimalzahl.

    Naja. Aber danke. Ich habe Einiges gelernt, was ich einfach von Delphi fälschlicherweise übernommenhabe. Z.B. das mit den Variablen.

    Gruß

    Pyrgo

    P.S.: Im Anhang mein aktueller Stand.
     
  13. Erlang C

    Hallo Pygro,

    bist Du Dir sicher, dass die Berechnung ...
    Code:
    ... stimmt? Hier kommt eine Zahl nahe Null heraus (da Faktor!42 sehr groß ist).

    cu
    myfake
     
  14. Ja,

    das steht ja auf der Seite. ErlangC.de

    Aber ich habe einen Verdacht. Wenn man Doppelbrüche (heißt das so?) hat, muss man sie dann icht erst umrechnen?

    Also wie hier: http://brinkmann-du.de/mathe/fos/wieder01_03.htm#abs8

    Aber so wirklich schaffe ich es nicht, die Formel nach dem Schema umzuschreiben.
     
  15. Hallo Pyrgo,

    ich habe jetzt einmal kurz auf der Seite geschaut, die Formel dort aber auf die Schnelle nicht gefunden.

    Vielleicht kannst Du die "Originalformel" einmal hier posten.

    cu
    myfake
     
Thema:

Erlang C

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden