Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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

Matrix und Formel

Matrix und Formel
13.12.2021 11:58:02
Antonio
Hallo,
ich suche eine Möglichkeit anhand von Daten (Bünde) die respektive Töne und Midi zu schreiben.
Im Netz habe Akkorden für die Gitarre, als nummerierung für die Bünde, gefunden.
Ich habe ein Bsp. in der Mappe (rot markiert). Das heißt: im 8. Bund wird angefangen:
8=1
9=2
10=3
usw.
Links sind die zwei Matrix für die Töne und die Midi, es wird nach eine Formel gesucht in Z8 und AN8 zum runterziehen.
Ich hoffe ihr habt mich verstanden, wenn nicht bitte Fragen stellen.
Vielen Dank im Voraus
Antonio
https://www.herber.de/bbs/user/149773.xlsx

39
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrix und Formel
13.12.2021 12:10:09
Pierre
Hallo Antonio,
vielleicht verstehe nur ich es nicht ganz, aber:
Wie genau ist der Zusammenhang der Töne mit Bünden?
Du will in der Reihe Töne (Zeile 2) bei 8 die passenden Noten herausfinden, zwischendurch bist du aber dann bei Ton 10 und Ton 9.
Muss man dafür Musik studiert haben? ;-) Dann bin ich raus...
Also ich verstehe nicht, warum du im Endresultat die Töne von 8 haben willst, teilweise aber von 10 bzw. 9 auch welche dazu kommen.
Bitte erkläre da mal den Zusammenhang.
Gruß Pierre
PS: Ich weiß nicht, ob ich überhaupt helfen kann, aber bestimmt verstehen das andere ebenfalls nicht (ich hoffe, dass es so ist, damit ich nicht alleine bin).
Anzeige
okay, habs begriffen ...
13.12.2021 12:12:49
Pierre
... werde aber nicht helfen können.
Sorry
Gruß Pierre
AW: Matrix und Formel
13.12.2021 12:24:25
Antonio
Hallo Pierre danke zunächst für dein Interesse.
Die zwei Matrix sollen das gitarrengriffbrett darstellen.
Ich weis es ist nicht einfach für mich zu beschreiben, ich versuch es nochmal:
In der Spalte AG:AL (Bünde) rot markiert:
1 3 3 2 1 1
wenn rechts eine 8 steht, soll das bedeuten links in den Matrix ab Bund 8 (Stern, oder Spalte J) zu zählen und ergibt:
8 8 10 10 9 8
Also pro Seite eine Zahl.
Klar bis jetzt?
AW: mit INDEX() und VERGLEICH() ...
13.12.2021 12:33:43
neopa
Hallo Antonio,
... sollte das angestrebte ermittelt werden.
In Z3 z.B. so: =WENN(AG3="x";"x";WENN(AG3="";"";INDEX($A:$V;VERGLEICH(Z$1;$A:$A;0);VERGLEICH($AU3;$2:$2;0)+AG3-1)))
und Formel nach rechts und unten ziehend kopieren.
Gruß Werner
.. , - ...
Anzeige
AW: für AN3 natürlich dann analog ...
13.12.2021 12:37:16
neopa
Hallo nochmal,
... hier bedarf es lediglich einer kleinen Formelergänzung (nachfolgend fett markiert).
In AN3: =WENN(AG3="x";"x";WENN(AG3="";"";INDEX($A:$V;VERGLEICH(Z$1;$A:$A;0)+8;VERGLEICH($AU3;$2:$2;0)+AG3-1)))
Gruß Werner
.. , - ...
AW: für AN3 natürlich dann analog ...
13.12.2021 12:49:32
Antonio
Habe zu früh gepostet!!!
PERFEKT!
Danke Werner
AW: bitteschön owT
13.12.2021 13:17:50
neopa
Gruß Werner
.. , - ...
AW: mit INDEX() und VERGLEICH() ...
13.12.2021 12:44:31
Antonio
Hallo Werner
du bist ein Genie.
Wie soll ich die Formel umschreiben das auch für AN:AS funzt?
AW: s.o. owT
13.12.2021 12:46:04
neopa
Gruß Werner
.. , - ...
AW: s.o. owT
13.12.2021 12:54:31
Antonio
Hallo Werner noch eine FRage:
Die Kröhnung:
Wäre auch möglich das wenn ich eine Zeile markiere z.B.: Z13:AN13 das dann die entsprechende zellen in den Matrix gelb markiert werden?
Wenn nicht ist auch OK!!!
Vielen Dank im Voraus
Antonio
Anzeige
AW: so nicht eindeutig ...
13.12.2021 13:24:50
neopa
Hallo Antonio,
... wenn Du Z13:AN13 markierst , dann kannst Du doch auch eine auch eine gelbe HG-Farbe zuweisen. Oder was meinst Du genau?
Und warum markierst Du nur bis AN13. Kannst Du es beispielhaft darstellen?
Gruß Werner
.. , - ...
AW: so nicht eindeutig ...
13.12.2021 13:35:45
Antonio
Sorry, habe inszwischen weiter gearbeitet und etwas umgestellt.
https://www.herber.de/bbs/user/149777.jpg
Wie aus dem Bild: wenn ich die Zeile AM:BA markiere oder eine andere, ist es möglich den Akkord in den Matrix GELB darzustellen?
Ich hoffe das du mich verstehst.
Vielen Dank im Voraus
Antonio
Anzeige
Korrektur
13.12.2021 13:39:46
Antonio
Oder evtll. Y:BA markieren da du Von den Frets (Bünde) ausgegangenbist
AW: reicht eine Markierung mit einem "."? ...
13.12.2021 14:31:25
neopa
Hallo Antonio,
... und zwar den Punkt einfach in Spalte AT setzen?
Gruß Werner
.. , - ...
AW: Korrektur
13.12.2021 15:39:08
UweD
Hallo nochmal
ausgeweitet auf Y: BA

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim RNGAsw As Range, RNGA As Range, RNGB As Range, RNG1 As Range, RNG2 As Range
Dim Sp As Integer, Z As Integer, i As Integer, Such As Variant
Set RNGAsw = Range("Y:BA")
Set RNGA = Range("AM:AR")
Set RNGB = Range("AT:AY")
Set RNG1 = Range("B3:V8")
Set RNG2 = Range("B11:V16")
If Not Intersect(RNGAsw, Target) Is Nothing Then
If Target.Rows.Count > 1 Then
MsgBox "Nur eine Zeile auswählen"
Exit Sub
End If
Z = Target.Row
'Reset
Union(RNG1, RNG2).Interior.Pattern = xlNone
' Suchen in Midi
For i = 6 To 1 Step -1
Such = Intersect(RNGA.Rows(Z), RNGA.Columns(6 - i + 1)).Value
If Such  "x" And Such  "" Then
Sp = WorksheetFunction.Match(Such, RNG2.Rows(i), 0)
With Intersect(RNG2, RNG2.Rows(i), RNG2.Columns(Sp))
.Interior.Color = 65535
End With
End If
Next
' Suchen in Töne
For i = 6 To 1 Step -1
Such = Intersect(RNGB.Rows(Z), RNGB.Columns(6 - i + 1)).Value
If Such  "x" And Such  "" Then
Sp = WorksheetFunction.Match(Such, RNG1.Rows(i), 0)
With Intersect(RNG1, RNG1.Rows(i), RNG1.Columns(Sp))
.Interior.Color = 65535
End With
End If
Next
End If
End Sub
LG UweD
Anzeige
AW: Korrektur
14.12.2021 07:05:11
Antonio
Hallo UweD,
Danke zunächst für dein Code.
Habe alles gemacht wie du beschrieben hast:
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- den Code rechts reinkopieren
Mein Fehler war dein Code im Worksheet reinkopiert zu haben.
Habe in Tabelle1 reinkopiert und ES FUNZT!!! :D
Vielen Dank
Antonio
AW: so nicht eindeutig ...
13.12.2021 15:35:12
UweD
Hallo
Wenn du in eine Zelle in AM:AR oder AT:AY klickst, läuft das Makro ab
Dazu bitte einmal...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- den Code rechts reinkopieren

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim RNGA As Range, RNGB As Range, RNG1 As Range, RNG2 As Range
Dim Sp As Integer, Z As Integer, i As Integer, Such As Variant
Set RNGA = Range("AM:AR")
Set RNGB = Range("AT:AY")
Set RNG1 = Range("B3:V8")
Set RNG2 = Range("B11:V16")
If Not Intersect(Union(RNGA, RNGB), Target) Is Nothing Then
If Target.Rows.Count > 1 Then
MsgBox "Nur eine Zeile"
Exit Sub
End If
Z = Target.Row
'Reset
Union(RNG1, RNG2).Interior.Pattern = xlNone
' Suchen in Midi
For i = 6 To 1 Step -1
Such = Intersect(RNGA.Rows(Z), RNGA.Columns(6 - i + 1)).Value
If Such  "x" And Such  "" Then
Sp = WorksheetFunction.Match(Such, RNG2.Rows(i), 0)
With Intersect(RNG2, RNG2.Rows(i), RNG2.Columns(Sp))
.Interior.Color = 65535
End With
End If
Next
' Suchen in Töne
For i = 6 To 1 Step -1
Such = Intersect(RNGB.Rows(Z), RNGB.Columns(6 - i + 1)).Value
If Such  "x" And Such  "" Then
Sp = WorksheetFunction.Match(Such, RNG1.Rows(i), 0)
With Intersect(RNG1, RNG1.Rows(i), RNG1.Columns(Sp))
.Interior.Color = 65535
End With
End If
Next
End If
End Sub
LG UweD
Anzeige
AW: ist auch ohne VBA möglich, wenn ...
14.12.2021 08:54:13
neopa
Hallo Antonio,
... eine entsprechende Kennzeichnung wie von mir mit einem "." (kann auch ein beliebiges anders Zeichen oder auch Zeichenkette sein) vorgeschlagen vorgenommen wird. In beigefügter Datei hab ich es für einen Punkt umgesetzt.. Und da ich davon ausgehe, dass immer nur ein Datensatz markiert werden soll, hab ich in Spalte AT durch Datengültigkeit "geregelt" dass immer nur ein "." eingeben werden kann für den markiert werden soll: https://www.herber.de/bbs/user/149796.xlsx
Gruß Werner
.. , - ...
AW: ist auch ohne VBA möglich, wenn ...
14.12.2021 09:28:14
Antonio
Hallo Werner,
geht auch.
Aber ohne VBA; Nachteile: es muss immer ein Punkt getippt werden und dann gelöscht.
mit VBA: Vorteil: brauche kein Zeichen, egal wo ich tippe wird markiert
Aber egal, man kann sich das aussuchen.
Sinn und zweck ist die Kontrolle über die Akkorden und entsprechende Midi Zahlen.
Hier habe schon ein Fehler gefunden, Siehe Bild:
https://www.herber.de/bbs/user/149797.jpg
Die grüne Zelle sollte "50" sein und nicht "56", siehe erste und zweite zeilen oberhalb, bei "0" sollte ein "D" sein, und hier durch den "56" kommt ein G# raus.
An sich habe deine Formel richtig eingegeben.
Hast du hier ein Tipp wo der Fehler sein kann?
Vielen Dank im Voraus
Antonio
Anzeige
AW: aus Deinem eingestellten Bild zu sehen ist ...
14.12.2021 11:19:30
neopa
Hallo Antonio,
... dass Du da eine andere Datenstruktur hast, als in der bisher eingestellten Datei. Wenn das von Dir markierte fehlerhaft ist, müssten für die Datenwerte wo in "Bünde" ein 0 steht und in AU ein Wert &gt1 steht auch falsch sein. So z.B. die Daten für AK10:AL10; oder?
Und ja, wenn Du wirklich nur temporär markieren willst und damit die Kennzeichnung der zutreffenden Zellen vorzunehmen kommt nur eine VBA-Lösung in Frage.
Gruß Werner
.. , - ...
AW: aus Deinem eingestellten Bild zu sehen ist ...
14.12.2021 12:00:42
Antonio
Hallo Werner,
ich poste hier die entgültige Mappe damit wir wissen von was wir reden.
https://www.herber.de/bbs/user/149800.xlsm
ich habe noch was grün markiert
LG
Antonio
Anzeige
Ergänzung
14.12.2021 12:26:32
Antonio
Die Bereiche Z:AE und AG:AL sind Vorgabe, wobwi der Bereich AG:AL kann vernachlässlich werden da die Finger die man verwendet um zu greifen sehr individuell sind.
.....wenn in Z:AE eine "x" vorkommt, wird in AN:AS und AU:AZ übernommen, wie deinem Code auch vorschreibt. Für diese "x" gibt es keine Werte, weder in Midi noch in Note.
Für die andere Zahlen in Z:AE gibt es Werte, auch für den "0", siehe Spalte "B". Und dieser Null wird oft falsch umgesetzt.
Kannst du mich verstehen?
LG
Antonio
AW: nochmal gefragt ...
14.12.2021 12:58:36
neopa
Hallo Antonio,
... bei einer 0 in einem Vorgabewert (hier nun in Z:AE) und einem größeren ("Basis")Wert (hier in Spalte BB) als 1 soll entgegen der "normalen "Auswertung" nicht der Versatz gegenüber dem "Basis"wert berücksichtigt werden sondern der "absolute" Bezug.
Also in AP26 soll 50 ermittelt werden und in AQ30 die 55? Oder? Und analog in AU:AZ?
Gruß Werner
.. , - ...
Anzeige
AW: nochmal gefragt ...
14.12.2021 13:10:53
Antonio
JA!!!
AW: nochmal gefragt ...
14.12.2021 13:13:35
Antonio
Aber wieso funzt bei den Zeilen Z23 und Z24?
AW: nochmal gefragt ...
14.12.2021 14:27:03
Antonio
ENDLICH verstanden was du meintest.
Klappt jetzt
Vielen Dank
Antonio
AW: damit aber hast Du nun mich verwirrt ...
14.12.2021 15:17:23
neopa
Hallo Antonio,
... was genau klappt jetzt bzw. wie? Hast Du die Formel geändert oder die Daten oder...?
Gruß Werner
.. , - ...
AW: damit aber hast Du nun mich verwirrt ...
15.12.2021 07:53:49
Antonio
Sorry, eine Erklärung wäre angebracht gewesen.
Ich habe in Spalte "Freets" die Daten geändert, Z.B.: Zeile "6":
Original: 1 3 3 2 1 1 1 3 4 2 1 1 48 55 60 64 67 72 8
Jetzt: 8 10 10 9 8 8 1 3 4 2 1 1 48 55 60 64 67 72 1
Zeile "26": 2 x 0 1 2 2 2 0 0 1 3 4 48 x 56 62 67 72 7
Jetzt: 8 x 0 7 8 8 2 0 0 1 3 4 48 x 50 62 67 72 1
Und somit anstatt in der Spalte "BB" "8" oder "7" habe eine "1" und die Daten in "Freets" angepasst.
Wie du sehen kannst in Zeile "26" hatte ein "56" und jetzt wird richtig ausgewertet "50"
Das heißt die Spalte "BB" gibt den anfangsbund an, z.B.: "7", in Bereich Z:AE wäre die "1" dann die "7", die "2" wäre "8", die "3" wäre "9" usw.
Mit der "0" hat deine Formel oft das Problem gehabt falsch auszuwerten.
Wenn ich aber in Spalte "BB" eine "1" eingebe, ("1" wäre dann "Zähle von vorne") und im Bereich Z:AE die entsprechende Zielzahle eingebe
wird dann die "0" richtig dargestellt.
Ich hoffe du verstehst was ich gemacht habe.
Nun habe ich jetzt das Problem, händig, ca. 4000 Sätze zu ändern.
Hast du evtll. eine Idee wie ich es überwältigen kann anstatt alles umzuschreiben?
LG
Antonio
AW: nicht wirklich ...
15.12.2021 08:44:54
neopa
Hallo Antonio,
... so verständlich was Du hat und nun anstrebst. Jedenfalls nicht nach nur Lesens dessen, was Du nun geschrieben hast. Vielleicht eher nachvollziehbar, wenn Du es an Hand Deiner Datei und evtl. mit zwei Tabellenblattern aufzeigst. Ich schau es mir dann am Nachmittag an.
Gruß Werner
.. , - ...
OK werde es versuchen owT
15.12.2021 08:56:12
Antonio
.
Neue Mappe
15.12.2021 14:43:54
Antonio
Hallo Werner,
es fählt mir verd....mt schwer mein Vorhaben zum ausdruck zu Bringen.
Schau dir die Mappe mit eine Erklärung an
Die Mappe mit den Daten hast du schon.
https://www.herber.de/bbs/user/149825.xlsx
Vielen Dank für deine Mühe
LG
Antonio
AW: ... mit wieder neuer Struktur ...
15.12.2021 16:21:37
neopa
Hallo Antonio,
... und mit Angaben die leicht zu verstehen sind..
Ich interpretiere diese momentan wie folgt und zwar bezogen auf die Datenstruktur Deiner neu eingestellte Mappe.
Die neuen "Fixwerte" kannst Du mit folgender Formel ermitteln: =WENNFEHLER((P9+$AR9-1)*(P9&gt0);"x") und Formel nach rechts ziehend kopieren.
Gruß Werner
.. , - ...
AW: ... letzte Versuch
16.12.2021 08:44:11
Antonio
Hallo Werner,
ich sende dir die Mappe mit der entgültige Datenstruktur.
https://www.herber.de/bbs/user/149838.xlsm
Deine neue Formel brauche ich nicht weil die Fixwerte schon vorhanden sind.
Ich versuche erneut dir zu erklären wo das Problem liegt:
Das Problem sind die "0".
Am Bsp.: Csus2 Zeile "3"
Wenn in "BB" eine "1" steht, und in Z:AE auch eine "1" dann werden die Werte richtig dargestellt, Spalte "C"
Wenn in "BB" eine "1" steht, und in Z:AE eine "0" dann werden die Werte auch richtig dargestellt, Spalte "B"
Aber, am Bsp.: Csus2 Zeile "6"
Wenn in "BB" eine "7" steht, und in Z:AE eine "1", dann wird der "1" als "7" interpretiert und die Markierung erfolgt richtig ab Spalte "I"
Wenn in "BB" eine "7" steht, und in Z:AE eine "0", dann wird der "0" als "6" interpretiert ("0" ist vor "1" - "6" ist vor "7") und die Markierung erfolgt FALSCH ab Spalte "H"
Weil, wenn 1 = 7 dann logischerweise 0 = 6 und hier liegt der Hund begraben.
"0" ist IMMER Spalte "B"
Vielleicht reicht eine Ergänzung in deiner Formel (z.B.: "WENN "0" dann Spalte "B")
Wie in Zeile "9", wenn der "1" als "3" interpretiert wird ( laut "BB" ) dann soll der "0" nicht Spalte "D" sondern Spalte "B".
Daher der Fehler in Zeile "6", Spalte "H" ist ein "G#" aber der Akkord Csus2 hat kein "G#" sondern ein "G", also wenn der "0" richtig ausgewertet wird, wäre dann ein "D" Spalte "B" und das ist richtig.
Es gibt sehr viele solche Fehler bei ca. 4000 Sätze.
Ich hoffe das wenn du in aller Ruhe dieses ließt das dir klar ist was ich meine.
LG
Antonio
AW: das wäre auch eher möglich gewesen ...
16.12.2021 11:54:15
neopa
Hallo Antonio,
... denn die dafür notwendige Formeländerung ist minimal.(nachfolgend fett markiert). Nur durch Deine erfolgten ständigen Strukturänderungen haben wir wohl beide aneinander vorbei "gesprochen".
Nun aber:
In AG3: =WENN(Z3="x";"x";WENN(Z3="";"";INDEX($A:$V;VERGLEICH(Z$1;$A:$A;0)+8;WENN(Z3=0;2;VERGLEICH($BB3;$2:$2;0)+Z3-1))))
analog in AN3 und AU3 und alle diese Formeln nach rechts und unten ziehend kopieren.
Die Markierungen wolltest Du per VBA realisieren. Mit VBA beschäftige ich mich nicht. Aber die notwendige Anpassung dazu sollte Dir auf Basis vorliegender Zellformeländerung vielleicht auch ohne Hilfe möglich sein. Notfalls hilft Dir Uwe dazu nochmal aus.
Gruß Werner
.. , - ...
AW: das wäre auch eher möglich gewesen ...
16.12.2021 12:17:34
Antonio
Hallo Werner,
hab das Gefühl endlich alles klar rüber gebracht zu haben,
weil
ES FUNZT!!!
Ich Danke dir sehr.
Aber zum Verständniss: WENN(Z3=0;2; warum wenn "0" dann "2", was ist mit dem "2" gemeint?
LG
Antonio
Hilfe
16.12.2021 12:45:44
Antonio
Hallo Werner,
ein kleiner Fehler ist noch drin weil wenn in "BB" eine Zahl über "10" z.B.. "11" steht, dann gibt in Bereich "B3:V8 falche Werte aus.
Warum?
Anbei die Mappe ergenzt:
https://www.herber.de/bbs/user/149844.xlsm
Clicke bitte die Zeile wo in "BB" eine "11" steht an und schau dir bitte den Unterschied
LG
Antonio
AW: wenn Du die Markierung meinst ...
16.12.2021 13:26:31
neopa
Hallo Antonio,
... dann kann ich, wie bereits schon geschrieben, dazu Dir nicht weiterhelfen. Wenn Du aber die Ergebnisse der Zellformeln meinst, dann gib an, welche Ergebniswerte Du in welchen Zellen erwartest.
Gruß Werner
.. , - ...
Sorry
16.12.2021 13:38:35
Antonio
Hallo Werner,
sorry, habe die Markierung gemeint, die Ergebniss die ich jetzt bekomme sind super.
Hatte übersehen das du UweD erwähnt hattest.
Vielen Dank nochmal
Antonio
AW: bitteschön, und ...
16.12.2021 14:35:58
neopa
Hallo Antonio,
... die 2 steht für die 2.Spalte in $A:$V
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige