Registriert seit: 14.07.2020
Version(en): 2016, 365
15.07.2020, 12:30
(Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2020, 12:31 von Dr4c3.)
(15.07.2020, 12:25)LCohen schrieb: In meiner Formel muss natürlich G5 durch G6 ersetzt werden (mit Strg-H 7x). Das ist mir bereits aufgefallen. Jedoch gibt es mir bei der Kombination 44 & 88 lediglich 4 Treffer aus, wobei es 8 Treffer gibt. Ich versuche gerade durch die Formel durchzusteigen, was da passiert um die Differenz zu verstehen Gruß Manu Edit: Keine Ahnung wieso, aber jetzt zeigt er mir 8 Treffer an. Vielleicht hatte ich einen Fehler in der Zelle G6 Ich danke dir für deine Formel, ich muss zwar noch durchsteigen was genau da passiert, aber sie bringt mich um längen weiter ;)
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
In Zeile 2 bilde ich die Schauan'sche Hilfsspalte nach. In Zeilen 3-7 pflücke ich die maximal 5 Einträge in G6 auseinander, um sie herauszu"wechseln" und so die Längen zu vergleichen.
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
15.07.2020, 12:51
(Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2020, 12:51 von WillWissen.)
Hi Manu, als Freund von Hilfsspalten (dienen sehr häufig der Übersichtlichkeit der Formeln) kann ich dir diese Lösung anbieten: Arbeitsblatt mit dem Namen 'Tabelle1' | | A | B | C | D | E | F | G | H | I | 1 | Wert 1 | Wert 2 | Wert 3 | Wert 4 | Wert 5 | HS1 | HS2 | | | 2 | 1 | 55 | 88 | 90 | 96 | 1 | 1 | | | 3 | 23 | 29 | 44 | 88 | 89 | 2 | 3 | | | 4 | 26 | 36 | 44 | 66 | 88 | 2 | 2 | | | 5 | 40 | 44 | 46 | 68 | 88 | 2 | 2 | | Anzahl | 6 | 44 | 58 | 59 | 64 | 86 | 1 | 1 | 44 & 88 | 8 | 7 | 26 | 57 | 59 | 68 | 70 | 0 | 0 | 44 & 88 & 89 | 3 | 8 | 44 | 88 | 89 | 91 | 99 | 2 | 3 | | | 9 | 45 | 89 | 95 | 98 | 99 | 0 | 1 | | | 10 | 11 | 35 | 36 | 44 | 88 | 2 | 2 | | | 11 | 36 | 38 | 48 | 50 | 60 | 0 | 0 | | | 12 | 41 | 49 | 58 | 63 | 70 | 0 | 0 | | | 13 | 44 | 59 | 64 | 88 | 89 | 2 | 3 | | | 14 | 32 | 44 | 63 | 82 | 88 | 2 | 2 | | | 15 | 25 | 36 | 39 | 42 | 52 | 0 | 0 | | | 16 | 26 | 48 | 67 | 88 | 99 | 1 | 1 | | | 17 | 19 | 38 | 44 | 67 | 88 | 2 | 2 | | |
Zelle | Formel | F2 | =ZÄHLENWENN(A2:E2;44)+ZÄHLENWENN(A2:E2;88) | G2 | =ZÄHLENWENN(A2:E2;44)+ZÄHLENWENN(A2:E2;88)+ZÄHLENWENN(A2:E2;89) | I6 | =ZÄHLENWENN($F$2:$F$17;2) | I7 | =ZÄHLENWENN($G$2:$G$17;3) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 | Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Die HS kannst du einfach ausblenden.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 29.09.2015
Version(en): 2030,5
15.07.2020, 13:13
(Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2020, 13:13 von snb.)
In VBA: Code: Sub M_snb() Cells(1).CurrentRegion.Copy With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .GetFromClipboard sn = Split(.GetText, vbCrLf) End With
MsgBox "44 & 88 : " & UBound(Filter(Filter(sn, "44"), "88")) + 1 & vbLf & "44 & 88 & 89: " & UBound(Filter(Filter(Filter(sn, "44"), "88"), "89")) + 1 End Sub
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
Wenn es sogar bei snb mal ein klitzeskleines bisschen länger wird, ist der Zeitpunkt für MS gekommen, NESTEDSUBSTITUTE als Zellformel zu bringen:
=GESCHACHTELTWECHSELN(A1;B1:F1;[B2:F2];[vonhinten]) wäre dann wie
=WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;B1;);C1;);D1;);E1;);F1;)
Registriert seit: 14.07.2020
Version(en): 2016, 365
(15.07.2020, 13:13)snb schrieb: In VBA:
Code: Sub M_snb() Cells(1).CurrentRegion.Copy With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .GetFromClipboard sn = Split(.GetText, vbCrLf) End With
MsgBox "44 & 88 : " & UBound(Filter(Filter(sn, "44"), "88")) + 1 & vbLf & "44 & 88 & 89: " & UBound(Filter(Filter(Filter(sn, "44"), "88"), "89")) + 1 End Sub
Danke, das find ich klasse. Jetzt nur noch die Frage wie kommt der Wert " {1C3B4210-F441-11CE-B9EA-00AA006B1A69}" für die Arryar zustande? Weil wenn ich es auf meine ganze Arryar anwenden möcte muss ich das ja selbstständig reproduzieren und anpassen können ;) Auf alle Fälle Danke auch hierfür :)
Registriert seit: 29.09.2015
Version(en): 2030,5
15.07.2020, 14:00
(Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2020, 14:05 von snb.)
Das solltest du nie tun: Code: With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
referenziert das Clipboard und das ändert sich nie.
Eine Alternative könnte sein: Code: Sub M_snb() Cells(1).CurrentRegion.Copy With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .GetFromClipboard sn = Split(.GetText, vbCrLf) End With
sp=Array("44","88","89") for each it in sp sn=filter(sn,it) next
MsgBox join(sp," & ") & ": " & UBound(sn) + 1 End Sub
Registriert seit: 14.07.2020
Version(en): 2016, 365
15.07.2020, 14:33
(Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2020, 14:33 von Dr4c3.)
(15.07.2020, 14:00)snb schrieb: Das solltest du nie tun:
Code: With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
Ah verstehe, er wählt den zu durchsuchenden Bereich gar nicht damit aus. Problem ist, den zu durchsuchenden Bereich muss ich frei bestimmen können, und ggf. auch anpassen können. Wenn dir also ein VBA einfällt, wo ich den Bereich mit Range("A2:E1000").Select oder ähnlichen selbst bestimmen kann, so wäre es für mich die Lösung, da später noch andere Werte hinzu kommen werden und diese nach anderen Werten ebenfalls durchsucht werden müssen PS: Es tut mir leid wenn ich hierbei sehr Leienhaft rüber komme, ich habe VBA zuletzt vor 6 Jahren gemacht und stelle fest, dass man da doch ziemlich schnell wieder raus ist... Gruß Manu
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
Für A1 tut snb doch genau das. Mit Cells(2, 1) statt Cells(1) klappt es auch bei Dir. .CurrentRegion ist das Zauberwort.
|