Clever-Excel-Forum

Normale Version: Funktion, die bei Erfüllung eines Kriteriums eine Zahl zu einem Feld addiert
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
EXCEL VERSION 2016

Mein Problem:
Ich habe 2 Tabellen auf 2 Tabellenblättern (CHART - BASIS), pro Zeile sind einem Artikel verschiedene Infos zugeordnet (CHART)

Aktuell steht man auf Zelle A2 (CHART), in dem der Artikelname steht. Jetzt soll dieser Name in der 2.Tabelle auf Blatt BASIS gesucht werden (steht dort immer in Spalte A). Wenn dort gefunden, dann soll in der gleichen Zeile in Spalte G zu dem dort stehenden Wert die Zahl 1 addiert werden
So die Wunschvorstellung. Ist sowas mit einer Funktion machbar?

Schon mal vielen Dank im Vorraus für die Unterstützung  !
Hallo,

mit einem Makro kein Problem.
Hi,

G2:
Code:
=1+WENNNV(SVERWEIS(A1;BASIS!$A$1:$A$3;1;0);0)

Wobei $A$1:$A$3 mit der Tatsächlichen Suchmatrix in Basis ersetzt werden muss.

(05.07.2019, 09:50)Klaus-Dieter schrieb: [ -> ]Hallo,

mit einem Makro kein Problem.

ups, interpretiere ich falsch?
Bekomm nur eine Fehlermeldung
Leider kann ich dein Konstrukt nicht ganz nachvollziehen (ANfänger in Sachen Funktionen)
Ich stehe auf dem Feld A2 auf dem Tabellenblatt CHART.Den Namen, den er dort findet, soll er auf Tabellenblatt BASIS suchen und in der dortigen Spalte G dem dort ausgewiesenen Wert EINS dazuaddieren

DU beziehst duích aber nur auf das Blatt BASIS, nicht auf die Ausgangsposition CHART. Oder bin ich jetzt nur verwirrt. Sorry
Vorschlag:
Du lädst Deine (anonymisierte) Datei hoch,
Wenn Ich Dir helfen kann, tue ich das, ansonsten steht Deine Datei anderen Supportern bereits zur Verfügung.
Deal?

Kann sein, dass Dein Problem die nächsten zwei Posts abgeschlossen sein wird ;)
Hi Marco,

ja, Du interpretierst das falsch. Du sollst nicht den Wert aus Gx auf das erste Blatt holen, sondern den Wert in Gx um 1 erhöhen. Deswegen Makro.

Ansonsten kann man das gleich hier programmieren, allerdings dann ungetestet Sad
Code:
Sub Test()
'Variablendeklarationen
Dim vGefunden
'mit dem Blatt Basis
With Sheets("BASIS")
  'Suchbegriff aus aktiver Zelle in Spalte 1 (A)  finden
  Set vGefunden=.Columns(1).Find(What:=ActiveCell.Value, After:=.Range("A1"), LookAt:=xlPart)
  'Wenn was gefunden wurde, dann
  If not Gefunden is Nothing Then
    'Zellwert in Gx erhoehen
    .Cells(vGefunden.Row, 7).Value = .Cells(vGefunden.Row, 7).Value + 1
  'Ende Wenn was gefunden wurde, dann
  End If
'Ende mit dem Blatt Basis
End With
End Sub
(09.07.2019, 20:44)schauan schrieb: [ -> ]Hi Marco,

ja, Du interpretierst das falsch. Du sollst nicht den Wert aus Gx auf das erste Blatt holen, sondern den Wert in Gx um 1 erhöhen. Deswegen Makro.

Ansonsten kann man das gleich hier programmieren, allerdings dann ungetestet Sad
Code:
Sub Test()
'Variablendeklarationen
Dim vGefunden
'mit dem Blatt Basis
With Sheets("BASIS")
 'Suchbegriff aus aktiver Zelle in Spalte 1 (A)  finden
 Set vGefunden=.Columns(1).Find(What:=ActiveCell.Value, After:=.Range("A1"), LookAt:=xlPart)
 'Wenn was gefunden wurde, dann
 If not Gefunden is Nothing Then
   'Zellwert in Gx erhoehen
   .Cells(vGefunden.Row, 7).Value = .Cells(vGefunden.Row, 7).Value + 1
 'Ende Wenn was gefunden wurde, dann
 End If
'Ende mit dem Blatt Basis
End With
End Sub
Hm... Ich wollte in G2 die Formel platzieren. Und wo ist jetzt der Fehler?
Hallöchen,

woher weist Du, dass die Formel nach G2 gehört und vor allem, woher weißt Du, welche Zelle im Blatt Chart markiert ist? Und dann käme noch dazu, dass Du den Inhalt von G um eins erhöhen sollst, Du müsstest in der Formel also erst mal den Wert von G auslesen. Oder so in etwa …

Ich beschreib die Aufgabe auch mal:

Der TE hat im Blatt Chart eine Zelle markiert, z.B. A2.
Dann soll auf Blatt BASIS in Spalte A der Inhalt von A2 gesucht werden.
Anschließend soll in der Trefferzeile in Spalte G der Inhalt dieser Zelle um 1 erhöht werden.


Anmerkung:
Ich bin jetzt nicht davon ausgegangen, dass mit Tabelle 1 und 2 zwei Dateien gemeint sind, wohl eher dass die erste Tabelle Chart heißt und die zweite heißt Basis.
Sorry, dass ich mich erst jetzt wieder melde, abe ich war für ein paar Tage unterwegs.
Zwischenzeitlich hat sich bei dem kleinen Projekt einiges überschlagen, sprich ich muss alles nochmal neu aufsetzen, die Struktur sich also total verändert.

Trotzdem VIELEN Dank für eure Unterstützung - wenn ich etwa mehr Luft habe, werde ich eure Tipps trotzdem mal versuchen umzusetzen. Das Forum ist wirklich klasse, bringt einen Anfänger wie mich absolut weiter
Danke nochmal !