Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sverweis eigene Funktion Problem - Summe

Sverweis eigene Funktion Problem - Summe
jens
Hallo Excel-Profis,
am Freitag Nachmittag kommen immer noch die Probleme.
Ich habe mir eine Funktion gebastelt die einen SVerweis mit 3 Kriterien durchführt: Function sSVERWEIS3jc(var3A As Variant, var3B As Variant, var3C As Variant, vs2 As Variant, vs3 _ _ _ As Variant, rng3 As Range, Spalte3 As Variant) Dim rng3Act As Range For Each rng3Act In rng3.Columns(1).Cells If rng3Act.Value = var3A And rng3Act.Offset(0, vs2).Value = var3B And rng3Act.Offset(0, _ _ _ vs3).Value = var3C Then sSVERWEIS3jc = rng3Act.Offset(0, Spalte3).Value Exit Function End If Next rng3Act sSVERWEIS3jc = "" End Function
Mit der bin ich auch zufrieden.
Jetzt habe ich in einem Terminkalender zu prüfen, ob der Termin belegt ist und wenn ja wie oft.
Im Moment habe ich die Matrixformel:
=1-SUMMENPRODUKT((Termine!$G$2:$G$1000=H$6) *(Termine!$J$2:$J$1000=$B9))
im Einsatz aber die ist grottenlangsam.
Kann man meine Sverweisformal so abwandeln, dass sie den Wert (ist immer eine 1) der Fundstellen summiert?
Vielen Dank im voraus.
Viele Grüße und ein schönes Wochenende Jens
P.S. ich habe auch in 2 Tabellenblätten Worksheet change Ereignisse - kann man die nur dann kalkulieren lassen wenn sich in einer bestimmten Spalte (hier N) ein Wert ändert? Das würde die Sache weiter beschleunigen.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sverweis eigene Funktion Problem - Summe
29.10.2010 17:33:01
ingoG
Hallo Jens,
versuch es mal so...
Function sanzahl3jc(var3A As Variant, var3B As Variant, var3C As Variant, vs2 As Variant, vs3   _
_
As Variant, rng3 As Range, Spalte3 As Variant)
Dim rng3Act As Range
sanzahl3jc=0
For Each rng3Act In rng3.Columns(1).Cells
If rng3Act.Value = var3A And rng3Act.Offset(0, vs2).Value = var3B And rng3Act.Offset(0,    _
_
vs3).Value = var3C Then
sAnzahl3jc = sAnzahl3jc +1
End If
Next rng3Act
End Function
konnte es zwar nicht testen, sollte aber so funzen
Gruß Ingo
PS eine Rückmeldung wäre nett...
AW: Sverweis eigene Funktion Problem - Summe
29.10.2010 18:52:23
jens
Hallo Ingo,
vielen Dank für die Hilfe.
ich habe noch 2 Probleme:
1. wenn es nicht zutrifft sollte die Funktion 0 wiedergeben - sie gibt Leer wieder
2. Auch wenn die Bedingung 2 mal in dem Bereich zutrifft gib die Funktion nur eine 1 wieder - ich denke Sie sucht auch nur einmal? (War für meine erste Funktion auch richtig.
Ich glaube, da fehlt eine Schleife bei der er prüft wie oft die Bedingung im ganzen Bereich erfüllt ist?
Vielen Dank und viele Grüße Jens
Anzeige
AW: Sverweis eigene Funktion Problem - Summe
30.10.2010 10:25:42
ransi
HAllo
Ich hab mir mal erlaubt an deiner Funktion etwas an der Gschwindikgeitschraube zu drehen.
Ausserdem hat die Funktion hat jetzt eine zusätzlichen Parameter.
Setzt du den auf =Wahr dann werden die Fundstellen gezählt.
Lässt du ihn weg oder setzt ihn auf Falsch arbeitet die Funktion genauso wie deine Urversion.
Tabelle1

 ABCDEFGHI
1449432UWJN35 4435 
2729194JGBC43 947 
386318RLEX72 59  
4789057HPYG71    
546495MUNB41    
675134JHUE68    
736828RSNM61    
8489047PMVX59    
9407178RTZY42    
10449459GFHB35    
11449459APGA1    
12445662XACK52    
1344808BUMS74    
14449183GJIF82    
15449459KWGS59    
16449459MFTW69    
17449459MFBF85    
18449459UKDH92    
19528031XJTB29    
20843719YHAN4    
21375666CPBO74    
22802634QEAE53    
23449459TJDU93    
24707449DTKX80    
25785814HUAC23    
26941784SUPA91    
27947811MGDV53    
28422417DKQV27    
29842682TVTL21    
30310031FRSG55    
31         

Formeln der Tabelle
ZelleFormel
H1=sSVERWEIS3jc(G1;G2;G3;2;3;A1:E30;5;)
H2=sSVERWEIS3jc(G1;G2;G3;2;3;A1:E30;5;WAHR)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Function sSVERWEIS3jc(var3A As Variant, _
        var3B As Variant, _
        var3C As Variant, _
        vs2 As Integer, _
        vs3 As Integer, _
        rng3 As Range, _
        Spalte3 As Integer, _
        Optional Addieren = False)

    Dim L As Long
    Dim arr As Variant
    Dim tmp As Long
    arr = rng3
    
    If Addieren = False Then
        For L = LBound(arr) To UBound(arr)
            If arr(L, 1) = var3A Then
                If arr(L, vs2) = var3B Then
                    If arr(L, vs3) = var3C Then
                        sSVERWEIS3jc = arr(L, Spalte3)
                        Exit Function
                    End If
                End If
            End If
        Next
        
        Else:
        
        For L = LBound(arr) To UBound(arr)
            If arr(L, 1) = var3A Then
                If arr(L, vs2) = var3B Then
                    If arr(L, vs3) = var3C Then
                        tmp = tmp + 1
                    End If
                End If
            End If
        Next
        sSVERWEIS3jc = tmp
    End If
End Function


ransi
Anzeige
AW: Sverweis eigene Funktion Problem - Summe
31.10.2010 20:26:44
jens
Hallo Ransi,
sorry die Formel gibt bei mir gar keine Ergebnisse?
Viele Grüße Jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige