Pivot in Excel ohne Aggregation, um Text anzuzeigen, nicht Zahlen?

9

Sagen wir, ich habe einen Tisch wie diesen:

%Vor%

Wie kann ich einen solchen Pivot in Excel erhalten?

%Vor%

Wenn 'mytext' eine Zahl wäre, könnte ich eine Pivot-Tabelle machen: Da es nur eine Zeile pro Kombination aus Land und Region gibt, wäre min = max = sum = avg und jede dieser Aggregatfunktionen würde tatsächlich angezeigt mir das Ergebnis, das ich will.

Aber was, wenn das Feld, das ich will, nicht numerisch ist? Mit der Pandas-Bibliothek von Python kann ich die Methode dataframe.pivot () auch für nicht numerische Felder verwenden, aber ich habe in Excel keine Möglichkeit gefunden, dasselbe zu tun. Ich könnte jeder Zeile eine Zahl zuordnen, in Excel den Pivot ausführen, um diese Zahl anzuzeigen, und dann eine Suche durchführen, um den zugehörigen Text zu erhalten, aber es scheint ein ziemlich komplizierter Prozess für etwas zu sein, das wirklich einfacher sein sollte!

    
Pythonista anonymous 24.09.2015, 17:05
quelle

4 Antworten

5

Sie können das MS Power Query-Add-In * verwenden. Schwenktische sind ohne VBA recht einfach. Es ist kostenlos und sehr effektiv für die Datentransformation.

der M-Code

%Vor%

Ihre Ausgabe

* * von MS Office 2016 ist es vollständig in Excel als Holen & amp; Transformieren Funktion.

    
visu-l 28.09.2015, 12:14
quelle
3

Fügen Sie MyText als Zeilenbeschriftung unterhalb der Länderbeschriftung hinzu und zeigen Sie dann die PivotTable im Tabellenformat auf der Registerkarte Pivot-Tabellengestaltung an. Wiederholen Sie die Artikelbeschriftungen für das Land-Zeilenbeschriftungsfeld.

    
cronos2546 24.09.2015 17:18
quelle
2

Für zukünftige Leser - verwenden Sie zwei Funktionen zusammen:

Band & gt; PivotTable-Tools & gt; Berichtslayout & gt; In tabellarischer Form anzeigen

und

Band & gt; PivotTable-Tools & gt; Berichtslayout & gt; Wiederholen Sie alle Artikelbezeichnungen

Zeilenfelder werden von links nach rechts als vertikal wiederholter Text angezeigt.

    
Josh Garcia 20.12.2016 04:56
quelle
2

Dies ist zwar möglich, erfordert jedoch, dass VBA vorübergehend einen numerischen Platzhalterwert in Ihrer PivotTable mit einem Text überschreibt. Um dies zu aktivieren, müssen Sie EnableDataValueEditing = True für die PivotTable festlegen. Bei der Aktualisierung suchen Sie dann nach dem numerischen Platzhalterwert und ersetzen ihn durch Text. Konvolut, ja. Workaround, ja. Aber es macht den Trick. Beachten Sie, dass dies nur bis zur nächsten Aktualisierung der PivotTable beibehalten wird. Daher muss dieser Code bei jeder Aktualisierung ausgelöst werden.

Hier ist der Code, den ich in einem meiner eigenen Projekte verwende. Setzen Sie dies in ein Standard-Code-Modul:

%Vor%

Und hier ist das Ergebnis: eine PivotTable mit Text im VALUES-Bereich:

Hier ist die 'Umwandlungstabelle', die dem Code sagt, was für jede Nummer angezeigt werden soll:

Ich habe ihnen zwei benannte Bereiche zugewiesen, damit mein Code weiß, wo er die Nachschlagetabelle finden kann:

  • tbl_PivotValues.TextValue
  • tbl_PivotValues.NumericValue

... und so starte ich die Funktion und gebe die erforderlichen Argumente ein:

%Vor%

Dieser Code wird in das Worksheet-Codemodul eingegeben, das dem Arbeitsblatt entspricht, auf dem sich die PivotTable befindet:

    
jeffreyweir 27.09.2015 20:20
quelle

Tags und Links