PDA

Vollständige Version anzeigen : Berechnetes Feld einfügen


jeepster
21.07.2014, 13:53
Hallo zusammen,
ich möchte die anhängende Tabelle (Seminarteilnahme) dahingehend auswerten, dass in der Pivottabelle durch ein berechnetes Feld (hier: Feld 1) dargestellt wird, wieviele Mitarbeiter der jeweiligen Abteilung überhaupt an einem Seminar teilgenommen haben.

Ich habe für Feld 1 die Formel "Feld 1 =wenn('Seminar A'+'Seminar B'+'Seminar C'>0;1;0)" hinterlegt.

Leider stimmen die Ergebnisse je Abteilung nicht, denn sie liefern nur 1.

Was mache ich falsch und wie müsste es richtig sein?

Vielen Dank für Eure Hilfe!
Hartmut

Mc Santa
21.07.2014, 13:57
Hallo,

ziehe das Feld "Person" in den Bereich Werte. Ist das schon das Ergebnis, dass du suchst?

Bei mir sieht es dann so aus (Feld1 wurde gelöscht):
<br/><b><em>Tabelle1</em></b><table border="1" cellspacing="0" cellpadding="0" style="border-color:#000000; border-width: 1px; font-size:11pt; background-color:#ffffff; padding-left:2pt; padding-right:2pt; "><colgroup><col style="font-weight:bold; width:40px;" /><col style="width:172px;" /><col style="width:174px;" /><col style="width:73px;" /></colgroup><tr style="background-color:#99CCFF; text-align:center; font-weight:bold; "><td>&nbsp;</td><td>G</td><td>H</td><td>I</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">1</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Abteilung</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Daten</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Ergebnis</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">2</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Abteilung 1</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar A</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">2</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">3</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar B </td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">2</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">4</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Training C</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">1</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">5</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Person</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">2</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">6</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Abteilung 2</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar A</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">7</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar B </td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">1</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">8</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Training C</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">9</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Person</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">2</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">10</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Abteilung 4</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar A</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">1</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">11</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar B </td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">3</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">12</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Training C</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">1</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">13</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Person</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">4</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">14</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Abteilung 3</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar A</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">1</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">15</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Seminar B </td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">16</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Training C</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">1</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">17</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Anzahl von Person</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">2</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">18</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Gesamt: Anzahl von Seminar A</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">4</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">19</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Gesamt: Anzahl von Seminar B </td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">6</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">20</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Gesamt: Anzahl von Training C</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">3</td></tr><tr><td style="background-color:#99CCFF; text-align:center; font-weight:bold; ">21</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:left; ">Gesamt: Anzahl von Person</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">&nbsp;</td><td style="border-color:#000000; color:#000000; border-color:#000000; background-color:#FFFFFF ;; text-align:right; ">10</td></tr></table><table cellspacing="0" cellpadding="0"><tr style="text-align:left; font-weight:bold; " class="style21"><td style="text-align:left; font-size: xx-small" ><a href="http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip" >Excel-Inn.de</a></td></tr> <tr style="text-align:left; font-weight:bold; " class="style21"><td style="text-align:left; font-size: xx-small" ><a href='http://Hajo-Excel.de/tools.htm' >Hajo-Excel.de</a></td></tr><tr style="text-align:left; font-weight:bold;" ><td style="text-align:left; font-size: xx-small" >XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007</td></tr><tr style="text-align:left; font-weight:bold; " ><td style="text-align:left; font-size: xx-small" > Add-In-Version 18.01 einschl. 64 Bit</td></tr></table><br/>

VG

jeepster
21.07.2014, 14:24
Hallo Mc Santa, vielen Dank für die schnelle Antwort!

Durch das Ziehen des Feldes "Person" in den Wertebereich erhalte ich nur das Ergebnis, wieviele Personen zur jeweiligen Abteilung gehören, nicht jedoch die Information, wieviele davon mindestens an einem Seminar teilgenommen haben.

Gruß
Hartmut

jeepster
29.07.2014, 13:21
Hallo Gemeinde,
hat denn wirklich niemand eine Pivot-Lösung für das Problem?

BCoder
29.07.2014, 13:47
Was genau möchtest Du denn sehen?

In deiner Tabelle siehst Du doch bereits, wie viele Mitarbeiter ein Seminar besucht haben je Abteilung und sogar welches davon.

Nachtrag: Du kannst auch die Personen noch in die Zeilen ziehen, dann siehst du welche Person, welches Seminar hat und welches nicht. Das kannst Du dann filtern nach dem was du möchtest. Würde das genügen?

BCoder
29.07.2014, 14:28
Ich würde ja generell eine andere Datenhaltung anstreben, in der ein Satz nur Person, Abteilung, Jahr und Seminar besteht und darauf dann die Pivot.

jeepster
30.07.2014, 12:14
Hallo BCoder,

danke für Deine Antworten!

Zur Erläuterung der Problematik:
Der Umfang der Datenbank umfasst ca. 400 Personen und 27 verschiedene Seminare. Der Aufbau ist von der Personalabteilung vorgegeben.

Ich habe die Aufgabe, die Datenbank nach verschiedenen Fragestellungen auszuwerten. Eine davon lautet: "Wieviele Personen (getrennt nach Abteilung) haben überhaupt schon mal an (mindestens) einem Seminar teilgenommen?"
Wieviele Teilnahmen es insgesamt waren, ist bei dieser Fragestellung nicht relevant. Deshalb bin ich auf den Gedanken mit dem Berechneten Feld in Pivot gekommen.

Eine weitere Fragestellung lautet: "Wieviele Personen (getrennt nach Abteilung) in den letzten 2/4/6/8/10 Jahren an (wieder mindestens) einem Seminar teilgenommen haben?"

Erklärt das etwas besser, was gemeint ist?

Gruß
jeepster

magie61
30.07.2014, 12:46
Hallo jeepster,

zu der Fragestellung, wie viele Personen überhaupt schon mal an einem Seminar teilgenommen haben, siehe mein Vorschlag in der Datei.

Eine Auswertung nach Jahren kann ich mir im Moment nicht vorstellen bei vorliegender Datenstruktur.

PS. Zumindest nicht über Pivot.

Mc Santa
30.07.2014, 12:49
Hallo magie61,

die gleiche Idee hatte ich auch schon, aber hier wird für Abteilung 2 das Ergebnis 2 angezeigt, weil es zwei Persinen (F und B) gibt. Allerdings hat nur Person B auch an mindestens einem Seminar Teilgenommen, daher müsste das Ergebnis 1 lauten.

VG

Mc Santa
30.07.2014, 13:11
Hallo,

ich habe mal über Indexformeln die Datenbasis aufbereitet und nun erneut Pivot angewendet.
Das ist vermutlich am nächsten an deiner Vorstellung dran. Vielleicht kann man auch noch irgendwie die Anzahl der Einträge zählen. Das habe ich auch schon einmal als Thema gesehen, aber leider wieder vergessen. Vielleicht erinnert sich jemand.

VG

magie61
30.07.2014, 13:13
@ McSanta: Ooops, da hast du vollkommen Recht. Das habe ich übersehen.

Das würde, wie BCoder schon gesagt hat, auch für eine andere Datenstruktur sprechen.

Dann fällt mir dazu nur noch ZÄHLENWENNS ein.

Siehe Anhang.

BCoder
31.07.2014, 08:52
Guten morgen jeepster und die anderen Follower,

Der Aufbau ist von der Personalabteilung vorgegeben.

Welchen Aufbau meinst Du denn genau? Manchmal müssen Leute überzeugt werden, dass Sie was Neues und Optimaleres brauchen :p :grins:

Die Zählenwenn-Methode von magie61 finde ich auch gut, allerdings musst Du dann für jede neue Fragestellung z.B. "Welche Person hat noch kein Seminar besucht?" oder "Welche Person hat kein Seminar in den letzten 5 besucht?" wieder einen neuen Ansatz finden.

Die Indexvariante ist generell auch interessant, aber ich stelle mir die sehr aufwendig vor, wenn ein 28tes Seminar oder mehr dazu kommen oder eine neue Abteilung.

Kannst Du vielleicht mal eine anonymisierte Datenbasis aufzeigen, wie Du sie von der Personalabteilung bekommst oder ist die so aufgebaut wie in deiner ersten Datei?

jeepster
31.07.2014, 13:45
Hallo liebe Follower, vielen Dank für Eure Beiträge!

Ich bin inzwischen auf dem Lösungsweg des berechneten Pivot-Feldes etwas weitergekommen. Hinterlegt man für das berechnete Feld (Quellfeld: Feld 1, umbenannt in "Teilnahme an A, B oder C") die Formel

=(('Seminar A'>0)+('Seminar B'>0)+('Seminar C'>0)>=1)*1

und zieht dieses Feld dann ebenfalls in den Datenbereich, dann weist der Pivottable für die jeweilige Person das richtige Ergebnis aus (s. Dateianhang, Tabelle1). Die "1" steht in diesem Fall für "wahr", die "0" für "falsch".

Die Summation für die jeweilige Abteilung, die mich als aggregierte Information eigentlich interessiert, ist leider falsch :( . DAS allerdings ist nach intensiver Internetrecherche offenbar ein Excel-Programmfehler, der diesem Lösungsansatz damit programmseitige Grenzen setzt :( :(

Bleibt also doch nur der Weg über Hilfsspalten oder die Aufarbeitung der Datenstruktur via Indexformel.

Gruß
jeepster