Hallo,
danke schon einmal für deine Hilfe. Ich kann deine genannte Formel nicht so recht "einbauen":
=WENNFEHLER(INDEX(INDEX(Loc!$B$2:Loc!$K$9000;0;VERGLEICH($B$2;DropdownProdukt!$A$1:DropdownProdukt!$A$50;0));AGGREGAT(15;6;ZEILE(Loc!$B$2:Loc!$B$9000)/ISTZAHL(SUCHEN($A$3;INDEX(Loc!$B$2:Loc!$K$7000;0;VERGLEICH($A$2;Loc!$B$1:Loc!$K$1;0))))-ZEILE(Loc!$A$1);ZEILE(Loc!C1)));"")
Ich habe mal die Zelle fett markiert, die das Suchfeld ist, hier müsste man Veränderungen einbauen, korrekt? Mit den Sternen kann ich aber keine Suchkriterien festlegen oder?
Viele Grüße!
Hallöchen,
schaue mein Beispiel mal richtig an. Suchen findet den Text auch ohne Sterne, nur der Vergleich braucht sie ...
Hallo,
wenn ich die Sterne bei Vergleich einsetze, bekomme ich ein Formelfehler
Hallo majag,
Zitat:Bei der Suche nach Wörtern sollen auch Teile der Zellen gefunden werden
Die Formel in G4 in meiner Beispieldatei aus #5 berücksichtigt (in weiser Voraussicht) doch genau das schon; dafür ist der Formelteil "...ISTZAHL(SUCHEN($E$4; …" zuständig.
In dem Suchfeld in E4 muss nur ein Teil eines Wortes eingegeben werden und die Formel in G4:G11 listet alle Einträge auf, in denen der Wortteil aus E4 enthalten ist.
Deine Formel (aus #9) scheint, soweit ich das ohne die zugehörige Datei beurteilen kann, auch zu stimmen - bis auf ein paar kleine "Schönheitsfehler"
1. Beim Bezug auf einen Zellbereich auf ein anderes Tabellenblatt muss der Tabellenblattname nur einmal angegeben werden, also
=SUMME(Tabelle2!$A$1:$A$10)
statt
=SUMME(Tabelle2!$A$1:Tabelle2!$A$10)
2. Und der hier rot markierte Bereich war in deiner Formel 7000
=WENNFEHLER(INDEX(INDEX(Loc!$B$2:$K$9000;0;VERGLEICH($B$2;DropdownProdukt!$A$1:$A$50;0));AGGREGAT(15;6;ZEILE(Loc!$B$2:$B$9000)/ISTZAHL(SUCHEN($A$3;INDEX(Loc!$B$2:$K$
9000;0;VERGLEICH($A$2;Loc!$B$1:$K$1;0))))-ZEILE(Loc!$A$1);ZEILE(Loc!C1)));"")
Aber auch das sollte eigentlich keinen Fehler verursachen (sondern höchstens falsche Ergebnisse….)
Oder möchtest du jetzt noch etwas anderes (erreichen) ?
Dann solltet du eine neue Beispieldatei hier hochladen und genauer beschreiben, was du möchtest.
Gruß
Fred
Hi Fred,
vielen Dank für deine Hilfe!
Jetzt funktioniert die Suche auch irgendwie
Es klappt alles, das war wohl mal wieder ein Verständnisfehler meinerseits - vielen Dank!
Und auch vielen Dank für deine Tipps zur Formelverbesserung
Hallo nochmal,
nun habe ich ein (letztes) Anliegen:
Was klar ist: In der Spalte "Suchen" kann ich die gesamte Tabelle A:C durchsuchen, die Ergebnisse werden mir in Spalte "Ergebnis" untereinander aufgelistet.
Jetzt kommt aber eine neue Spalte D "Produkt" hinzu. Hier möchte ich ein oder mehrere Produkte auswählen, und nur die sollen dann in der Ergebnisspalte aufgelistet werden. Die anderen Ergebnisse, obwohl die Formel von Fred11 diese finden würde, sollen ignoriert werden.
Natürlich könnte ich einfach das Ergebnis laufen lassen und dann einen dynamischen Filter setzen, geht das aber auch "eleganter" ?
Hallo majag,
ich habe die Beispieldatei aus #5 entsprechend erweitert, so wie ich dein Anliegen verstanden habe.
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D | E | F | G | H | I |
1 | Name | Projekttyp | Fertig | Produkt | | | | | |
2 | super | 123 | ja | Orange | | Suche | | | Ergebnis NEU |
3 | test | 321 | nein | Orange | | Name | Produkt | | Fertig |
4 | halllo | 45 | nein | Banane | | egon | Banane | | vielleicht |
5 | Egon | xyz | vielleicht | Orange | | | Orange | | ja |
6 | test | a1 | ja | Apfel | | | | | vielleicht |
7 | gerd | b5 | nein | Orange | | | | | |
8 | erde | 815 | nein | Apfel | | | | | |
9 | Paul | Pferde | weiss nicht | Apfel | | | | | |
10 | Paul | xyz | egal | Banane | | | | | |
11 | Egon | xyz | ja | Orange | | | | | |
Zelle | Formel |
I4 | =WENNFEHLER(INDEX(INDEX($A$2:$C$20;0;VERGLEICH($I$3;$A$1:$C$1;0));AGGREGAT(15;6;ZEILE($A$2:$A$20)/(ISTZAHL(SUCHEN($F$4;INDEX($A$2:$C$20;0;VERGLEICH($F$3;$A$1:$C$1;0))))*(ZÄHLENWENN($G$4:$G$11;$D$2:$D$20)+(ANZAHL2($G$4:$G$11)=0)))-ZEILE($A$1);ZEILE(A1)));"") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Dieser Ergänzung der Formel
*(ZÄHLENWENN($G$4:$G$11;$D$2:$D$20)+(ANZAHL2($G$4:$G$11)=0))
ist dafür zuständig, dass nur diejenigen Einträge in Spalte D (Produkt) berücksichtigt werden, die in Spalte G aufgeführt sind.
Hast du das so gemeint ?
Ansonsten musst du mal eine neue Beispieldatei hier hochladen, mit händisch eingetragenem Wunschergebnis, in der ersichtlich ist, was genau du möchtest.
Gruß
Fred
Hallo
was haltet ihr von einer amüsanten VBA Lösung, fand ich vor kurzem im Herber Forum. Hier umgeschrieben auf die gewünschte "ja" Auswertung.
mfg Gast 123
Code:
Option Explicit
Const DMax = 20 'max Anzahl der Datensaetze in Der Msgbox
'Suchen über MsgBox mit InputBox Eingabe
Sub Suchen()
Dim ProNr As Variant
Dim Projekt As String
Dim SuchText As String, fmd, rw
Dim rFind As Range, Adr1 As String
Dim gesTxt As String, n As Integer
SuchText = InputBox("Suchbegriff:")
If SuchText = Empty Then Exit Sub
On Error GoTo Fehler
Set rFind = Columns("A:B").Find(What:=SuchText, After:=[a1], LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
If rFind Is Nothing Then MsgBox "Suchbegriff nicht gefunden!": Exit Sub
If Not rFind Is Nothing Then
Adr1 = rFind.Address '1. Addrese merken
Do 'Text mit Zeilenumbrüche auflisten
If LCase(Cells(rFind.Row, 3)) = "ja" Then
n = n + 1 'gesamte Anzahl zählen
rw = rFind.Row
ProNr = Cells(rw, 2)
Projekt = Cells(rw, 1)
gesTxt = gesTxt & rw & ") " & ProNr & " " & Projekt & vbLf
End If
Set rFind = Cells.FindNext(rFind)
Loop Until rFind.Address = Adr1
End If
'Fehlermeldung wenn Datensatz max. überschritten wird
If n > DMax Then fmd = "** max. " & DMax & " sind angezeigt!"
MsgBox n & " gefundene Datensätze: " & fmd & vbLf & gesTxt
Exit Sub
Fehler: MsgBox "unerwarteter Fehler im Suchlauf", vbInformation
End Sub
Hallo zusammen,
beide Lösungen haben geklappt ! Tausend Dank euch :)