Calc::Matrix- oder Datenbank-Auswertung

Hallo Liste,

wie ich "irgendwie" mein Problem lösen könnte - da mir fällt rein
gar nichts zu ein.Das rumstochern in der Hilfe ergab auch nichts.
Also frage ich mal...

Tabell 2

KundenName / Nummer
                           900 1040 10000 ...xxxx... 90000
Kunde_1 x x x
Kunde_2 x x
Kunde_... x x
Kunde_... x x

Tabelle 1 (automatisiert sich automatisch mit Daten aus Tabelle 2)

Kunde_1: 900,1040,9000
Kunde_2: 1040,10000
Kunde_... 1040,...
Kunde_... 900,10000

Ich brauche in Tabelle 1, in einer (usichtbaren) Zelle (je Kunde)
die Auswertung was in Tabelle 2 je Kunden-Zeile ausgewählt wurde.
Die Tabelle 1 wird als CSV gespeichert. Dann kann je Kunden-Zeile
diese Zelle gelesen und ausgewertet werden (was er denn so alles
hat).
CVS-Zeilen-Trenner = ';'
Trenner je Nummer = ',' (oder was auch immer)

Kann mich jemand mal in die richtige Richtung schubsen?

Danke!

Gruß Achim

Hallo Achim,

Tabell 2

KundenName / Nummer 900 1040 10000 ...xxxx... 90000 Kunde_1
x x x Kunde_2
x x Kunde_... x
x Kunde_... x x

Tabelle 2 ist also Deine Ausgangstabelle? Zumindest für Datenbanken
müsste klar sein, dass die Spaltenanzahl vorher feststehen sollte. Bei
Datenbanken wäre üblich:
Tabelle 2
Kunde Nr
Kunde_1 900
Kunde_1 1040
Kunde_1 9000
Kunde_2 1040

... usw.
Die Nummerierung, die ich bei Dir erkenne, scheint wir nicht auf eine
begrenzte Zahl an angekreuzten Feldern zu schließen. Eher so etwas wie
"Was hat ein Kunde bestellt".

Kannst Du an der Ausgangssituation dieser Tabelle etwas ändern?

Gruß

Robert

Guten Tag Robert,

Kannst Du an der Ausgangssituation dieser Tabelle etwas ändern?

Wenn Du Tabelle 2 meinst, dann leider nein.

Datenbanken müsste klar sein, dass die Spaltenanzahl vorher
feststehen sollte.

Ja, das ist auch gewährleistet.

. Eher so etwas wie "Was hat ein Kunde bestellt".

Ja, so ist es!

Wenn ich den String wie z.B. "900,1040" oder wie auch immer einmal
Tabelle 1 in einer (!) (versteckten) Zelle (je Kunden-Zeile) habe,
dann ist die Weiterverarbeitung für mich kein Problem mehr. Aber da
erst mal hin zu kommen.
Ich kann Tabelle 1 auch nicht umstricken, weil ich andere Tabellen
dann auch ganz neu aufbauen müsste. Umstricken von Tabelle 1 geht
also wirklich nicht.

Gruß Achim

NS: Aus letzten Absatz geht also hervor, dass Tabelle 2 (wie in
dieser Mail beschrieben) nicht wirklich Tabelle 2 ist, sondern
tatsächlich 8. Aber ich wollte den Mail-Text einfach halten. Und
Tabelle 1 bis 7 sind voll gestopft mit Fomeln... und alles bezieht
sich auf Zeile je Kunde. Deshalb kann ich auch nichts umgestalten.

Hallo Achim,

kannst Du mir einmal so eine Ausgangstabelle (*.csv-Datei) mit
lediglich 2 fingierten Datensätzen per privater Mail zuschicken? Ich
würde einmal sehen, ob sich so etwas nicht einfach auch in Base machen
ließe.

Gruß

Robert

Function CSVSTRING(data, names) as string
   string result = ""
   If UBound(data,2) <> UBound(names,2) Then
      result = "Parameter ERROR"
   Else
      For iRow = LBound(data,1) To LBound (data,1)
         For iCol = LBound(data,2) To UBound(data,2)
            If Trim(data(iRow,iCol)) <> "" Then
               If NOT IsNumeric(data(iRow,iCol)) Then
                  If Len(data(iRow,iCol)) > 0 Then
                     If Len(result) > 0 Then
                        result = result & ";" & names(iRow,iCol)
                     Else
                        result = names(iRow,iCol)
                     End If
                  End If
               End If
            End If
         Next iCol
      Next iRow
   End If
   CSVString = result
End Function

Aufruf: =CSVSTRING(B2:F2;$B$1:$F$1)

Wolfgang