Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivot ohne Berechnung

Pivot ohne Berechnung
20.04.2014 11:54:28
Peter
Hallo,
leider fiel mir kein besserer Titel für meine Frage ein.
Folgendes Problem, welches auch in der beiliegenden Tabelle zu finden ist:
Ich habe eine Liste, deren Auswertung normalerweise mit einer Pivotabelle durchgeführt wird. Allerdings scheitere ich an dem Problem, dass ich in einer Darstellung keine Werte errechnen möchte, sondern nur die Originaleinträge aus der Liste sehen möchte.
Hat jemand einen Tipp?
Und lässt sich dies auch per VBA lösen, das wäre sozusagen die Kirsche auf der Sahne.
Bevor ich nun lange schreibe, werft doch einfach einen Blick in die Exceldatei.
https://www.herber.de/bbs/user/90260.xlsx
Gruß,
Peter

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot ohne Berechnung
20.04.2014 14:10:06
fcs
Hallo Peter,
wenn du Zahlen statt Buchstaben für die Kennzeichnung der Zahlungsart verwendest, dann könntest du mit bedingter Formatierung arbeiten, um die Zahlen in der Pivotauswertung als Text darzustellen. Ist aber etwas mühselig in der Eingabe.Funktioniert aber nur in den neuesten Excelversionen.
Bei den benutzerdefinierten Zahlenformaten für die bedingten Formatierungen wird dann jeweils der Text statt der 0 oder # für Zahlen eingesetzt.
Beispiel: B;;; oder "B";;;
Alternativ wäre noch eine Auswertung per Formel möglich, wenn du die Kunden-Namen in der Spalte und die Datumswerte in der Zeile vorgeben kannst. Die Formeln sind jedoch Matrixformeln, die ggf. bei vielen Datenzeilen sehr rechenintensiv sind.
Beispiel für Zelle G2: =WENNFEHLER(INDEX($C$2:$C$13;VERGLEICH($F2&"|" & TEXT(G$1;"JJJJMMTT");$A$2:$A$13&"|"&TEXT($D$2:$D$13;"JJJJMMTT");0));"")
Formeleingabe mit Tastenkombination Strg+Shift+ENTER abschließen.
Gruß
Franz

Anzeige
AW: Pivot ohne Berechnung
21.04.2014 09:33:15
Peter
Danke für die Antwort. Die Idee mit den bedingten Formaten wäre eine interessante Lösung :-)

Kreuztabelle mit VBA
21.04.2014 11:09:38
Erich
Hi Peter,
dein Beispiel habe ich ein wenig verallgemeinert. In Zeile 8 erhält Müller XXXX als zweite Zahlungsart.
Und sortiert ist auch nichts mehr.
So sieht es dann aus:
 ABCDEFGHIJ
1KundeKnrArtDatum  16.04.201417.04.201419.04.201418.04.2014
2Schmitz B16.04.2014 SchmitzBLLB
3Müller R16.04.2014 MüllerRÜXXXXR
4Schulze V16.04.2014    Ü 
5Müller Ü17.04.2014 SchulzeVKKV
6Schmitz L17.04.2014      
7Schulze K17.04.2014      
8Müller XXXX19.04.2014      
9Müller R18.04.2014      
10Schmitz B18.04.2014      
11Schulze V18.04.2014      
12Müller Ü19.04.2014      
13Schmitz L19.04.2014      
14Schulze K19.04.2014      


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Das Ergebnis wird erzeugt durch

Option Explicit
Sub Umorg_Kreuztab()
Dim zz As Long, arQ, oDicDat As Object, nn As Long, oDicKun As Object
Dim oDicK As Object, arKyDat, arKy, arIt, strK As String, arrE() ' As String
Const strT As String = "|#|"
With Sheets("Tabelle1")
zz = .Cells(.Rows.Count, 1).End(xlUp).Row
arQ = .Cells(2, 1).Resize(zz - 1, 4)             ' Quelldaten
End With
Set oDicDat = CreateObject("Scripting.Dictionary")
For zz = 1 To UBound(arQ)
If Not oDicDat.Exists(arQ(zz, 4)) Then    ' Quellspalte 4 wird Spaltenüb. (Datum)
nn = nn + 1
oDicDat(arQ(zz, 4)) = nn
End If
Next zz
arKyDat = oDicDat.Keys
Set oDicKun = CreateObject("Scripting.Dictionary")
For zz = 1 To UBound(arQ)                    ' Quellspalte 1 wird Zeilenkopf (Kundennamen)
strK = arQ(zz, 1) & strT & arQ(zz, 4)
oDicKun(strK) = oDicKun(strK) + 1      ' Liste und Anz. der Kombinationen
Next zz
arKy = oDicKun.Keys
arIt = oDicKun.Items
Set oDicK = CreateObject("Scripting.Dictionary")
For zz = 0 To oDicKun.Count - 1
strK = Split(arKy(zz), strT)(0)           ' max. Anz/Kunde
If oDicK(strK) 
Die Knr wird nicht verwendet. Wäre sie nicht geschickter als der Kundenname?
Wie sollte für dich die Darstellung sein, wenn ein Kunde an einem Tag mehrere Zahlungsarten hat?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Kreuztabelle mit VBA
21.04.2014 13:41:37
Peter
Moin Moin,
immer wieder toll, wie schnell es die passende Antwort gibt und was dann auch noch berücksichtigt wird, selbst wenn es der Fragesteller vergessen hat.
Danke dafür.
Zu deinen Anmerkungen/Fragen:
Ohne bezüglich der tatsächlichen Daten und deren Verwendung ins Detail zu gehen, können tatsächlich folgende Fälle vorkommen:
1. Kunde x mit Knr. 123 aber auch Kunde x mit Knr. 987
2. Kunde x mit Knr. 123 aber auch Kunde y mit Knr. 123
Dies hatte ich bei meiner Fragestellung vergessen zu erwähnen.
Was tatsächlich nicht vorkommen kann, ist der beschriebene Fall, dass ein Kunde an einem Tag zwei unterschiedliche Zahlungsarten verwendet.
Bitte nicht wundern, warum das so ist. Dafür müsste ich hier offen legen, worum es genau geht und da es sich teilweise um personenbezogene Daten handelt, würde ich das ungern tun. Nur soviel, es handelt sich NICHT um etwas gerwerbliches :-)
Es wäre also sinnvoll, die Spalte Knr. noch einzufügen. Die gewünschten Auswertungen könnte man dann später über die Mehrfachsortierung in der fertigen Kreuztabelle regeln.
Solltest du jetzt aber doch so neugierig sein, dass du die konkrete Anwendung wissen möchtest, so kann ich es dir gerne per Mail verraten.
Nochmals vielen Dank für deine Hilfe
Peter

Anzeige
AW: Kreuztabelle mit VBA
21.04.2014 14:13:51
Peter
Sorry, falsches Häkchen gesetzt. Natürlich war die Frage benatwortet!!!!
;
Anzeige
Anzeige

Infobox / Tutorial

Pivot-Tabellen: Werte anzeigen ohne Berechnung


Schritt-für-Schritt-Anleitung

  1. Daten auswählen: Markiere die Daten, die du in der Pivot-Tabelle verwenden möchtest. Achte darauf, dass deine Daten ordentlich strukturiert sind.

  2. Pivot-Tabelle einfügen:

    • Gehe zu „Einfügen“ > „PivotTable“.
    • Wähle „Neues Arbeitsblatt“ oder „Vorhandenes Arbeitsblatt“ aus.
  3. Felder hinzufügen:

    • Ziehe die gewünschten Felder in den Bereich „Zeilen“ oder „Spalten“.
    • Um Werte anzuzeigen, ohne Berechnung, ziehe die Felder in den Bereich „Werte“, jedoch ändere die Einstellung auf „Werte anzeigen als“ und wähle „Keine Berechnung“ aus.
  4. Bedingte Formatierung:

    • Falls du Zahlen anstelle von Text verwenden möchtest, kannst du die bedingte Formatierung nutzen, um die Darstellung anzupassen. Dies funktioniert in den neuesten Excel-Versionen.
  5. VBA-Lösung (optional):

    • Wenn du mit VBA vertraut bist, kannst du ein Makro erstellen, um die Pivot-Tabelle automatisiert zu generieren, ohne Berechnungen durchzuführen.
Sub ErstellePivot()
    ' VBA Code zur Erstellung einer Pivot-Tabelle ohne Berechnung
    ' Hier den Code einfügen, der spezifisch für deine Daten ist
End Sub

Häufige Fehler und Lösungen

  • Fehler bei der Datenquelle: Stelle sicher, dass die Datenquelle fehlerfrei und konsistent ist. Ungültige Daten können die Erstellung der Pivot-Tabelle verhindern.

  • Werte werden nicht angezeigt: Wenn Werte nicht korrekt angezeigt werden, überprüfe die PivotTable-Einstellungen und stelle sicher, dass du die Felder richtig zugeordnet hast.

  • Bedingte Formatierung funktioniert nicht: Achte darauf, dass du in den richtigen Excel-Versionen arbeitest, da einige Funktionen nicht in älteren Versionen unterstützt werden.


Alternative Methoden

  • Formeln verwenden: Statt eine Pivot-Tabelle zu nutzen, kannst du auch Formeln wie INDEX und VERGLEICH verwenden, um die gewünschten Daten ohne Berechnung darzustellen. Hier ist ein Beispiel:
=WENNFEHLER(INDEX($C$2:$C$13;VERGLEICH($F2&"|"&TEXT(G$1;"JJJJMMTT");$A$2:$A$13&"|"&TEXT($D$2:$D$13;"JJJJMMTT");0));"")
  • Kreuztabellen: Eine alternative Möglichkeit ist die Verwendung von Kreuztabellen, die in Excel ebenfalls erstellt werden können, um Werte zu analysieren.

Praktische Beispiele

  1. Beispiel für bedingte Formatierung:

    • Verwende benutzerdefinierte Zahlenformate wie B;;; oder "B";;;, um Zahlen in Text darzustellen.
  2. VBA zur Erstellung einer Pivot-Tabelle:

    • Ein kurzes VBA-Skript kann dazu dienen, Daten automatisch zu verarbeiten und in einer Pivot-Tabelle darzustellen, ohne Berechnungen durchzuführen.

Tipps für Profis

  • Mehrfachsortierung: Nutze die Mehrfachsortierung in der Pivot-Tabelle, um komplexere Datenanalysen durchzuführen.

  • Verwendung von Text statt Zahlen: Wenn du mit Zahlungsarten arbeitest, verwende Textbezeichnungen für bessere Lesbarkeit in der Pivot-Tabelle.

  • Datenbankfähigkeiten: Wenn du Zugriff auf SQL-Datenbanken hast, ziehe in Betracht, Abfragen zur Vorverarbeitung deiner Daten zu nutzen, bevor du sie in Excel importierst.


FAQ: Häufige Fragen

1. Wie kann ich eine Pivot-Tabelle erstellen, die nur Werte anzeigt ohne Berechnung? Du kannst die Werte in den Bereich „Werte“ ziehen und die Einstellungen anpassen, sodass keine Berechnung durchgeführt wird.

2. Funktioniert die bedingte Formatierung in älteren Excel-Versionen? Einige Funktionen der bedingten Formatierung sind nur in den neuesten Versionen von Excel verfügbar. Überprüfe, ob du die richtige Version verwendest, um alle Funktionen nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige