Microsoft Excel

Herbers Excel/VBA-Archiv

Automatisiert neue Spalten erstellen

Betrifft: Automatisiert neue Spalten erstellen von: Frederik
Geschrieben am: 10.06.2014 15:22:34

Hallo, ich arbeite an einer Studie, die bald in SPSS eingespeist werden soll.
Momentan habe ich die Konstellation, dass jede Testperson bestimmte Merkmale hat. Diese sind in Kategorien sortiert (zum Beispiel "Fahrzeuge" oder "Spielekonsolen"), jedoch stehen innerhalb dieser Kategorien ganz unsortiert alle vorhandenen Werte.

Zum Beispiel steht dann bei einem Probanden 1 "XBox" in der gleichen Spalte wie bei einem anderen Probanden 2 "Playstation". Ich möchte nun möglichst effizient dafür sorgen, dass bei allen Probanden automatisch die Zellen ausgelesen und in eine entsprechend neue Spalte so eingetragen wird, dass sie sich wirklich vergleichen lassen. Bei Proband 1 soll dann quasi in den beiden Spalten so was stehen: 1 - 0, bei Proband 2: 0 - 1, wobei logischerweise die erste Spalte angibt, ob der Proband eine Xbox besitzt und die zweite Spalte, ob er eine Playstation hat. Ein weiterer Proband, der beide Konsolen besitzt, hätte somit 1 - 1 als Werte.

So ist das ganze natürlich sehr einfach manuell zu erstellen, da es allerdings um mehrere hundert Probanden und vor allem zig verschiedene Werte verschiedenster Kategorien geht, ist dies mit einem immensen Aufwand verbunden, weshalb ich hoffe, dass es eine effizientere Methode gibt.

Aus programmiertechnischer Sicht würde ich also gern alle Zellen auslesen und eine 1 in genau die Spalte eintragen, die als Überschrift den ausgelesenen Zelleninhalt hat. Gibt es keine entsprechende Spalte, soll sie erstellt und anschließend entsprechend gefüllt werden.
Ich habe nur leider absolut keine Ahnung von Excel und weiß dementsprechend auch überhaupt nicht, wie ich dies bewerkstelligen könnte.
Danke schon mal!

PS: achja, ich nutze Excel in der Mac Version von Office 2011, falls das wichtig sein sollte.

  

Betrifft: eine kleine Beispielarbeitsmappe wäre sinnvoll ... von: der neopa
Geschrieben am: 10.06.2014 16:07:37

Hallo Frederik,

... darin könntest Du in einer Tabelle einen ausgewählten IST-Zustand (für z.B. 2-3 Probanden mit Dummy-Daten) darstellen und in einer zweiten Deine Zielvorstellung. Dann wird es für die potentiellen Helfer sicherlich einfacher.


Gruß Werner
.. , - ...


  

Betrifft: AW: Automatisiert neue Spalten erstellen von: Frederik
Geschrieben am: 10.06.2014 16:25:34

Ja, das stimmt, hier eine Beispieltabelle, die hoffentlich zeigt, was ich meine:
https://www.herber.de/bbs/user/91057.xls


  

Betrifft: z.B. mit SUMMENPRODUKT() ... von: der neopa
Geschrieben am: 10.06.2014 16:32:59

Hallo Frederik,


... in B13 so:

=(SUMMENPRODUKT(($B$4:$Z$9=B$12)*($A$4:$A$9=$A13))>0)+0

und diese Formel nach rechts und unten kopieren.


Gruß Werner
.. , - ...


  

Betrifft: AW: z.B. mit SUMMENPRODUKT() ... von: Frederik
Geschrieben am: 10.06.2014 16:42:33

Super, das klappt exakt so wie vorgestellt!
Kannst du mir jetzt auch noch (ganz kurz) erklären, wie der Code funktioniert, damit ich das ganze auf meine doch etwas unübersichtlichere Tabelle übertragen kann?
Vielen lieben Dank!


  

Betrifft: das ist nicht einfach kurz erklärt ... von: der neopa
Geschrieben am: 10.06.2014 16:50:17

Hallo Frederik,

... das setzt voraus, dass man MATRIXfunktion und hier insbesondere SUMMENPRODUKT() versteht.

Hierzu verweise ich Dich zunächst mal hierhin: http://www.online-excel.de/excel/singsel.php?f=53.


Gruß Werner
.. , - ...


  

Betrifft: oder einem einfachen Vergleich von: EtoPHG
Geschrieben am: 10.06.2014 17:03:57

Hallo,

=WENNFEHLER(VERGLEICH(B$12;$B4:$Z4;0)^0;0)

Gruess Hansueli


  

Betrifft: wenn der Topf nun aber ein Loch hat ... von: der neopa
Geschrieben am: 10.06.2014 17:16:06

Hallo Hansueli,

... und z.B. Leerzeilen zwischen den Probanden der Zieltabelle stehen nicht aber in den der Datentabelle oder gar eine andere Sortierung in der Zieltabelle vorgenommen wurde? Deshalb hatte ich mich diesmal für SUMMNENPRODUKT() entschieden.


Gruß Werner
.. , - ...


  

Betrifft: AW: z.B. mit SUMMENPRODUKT() ... von: Frederik
Geschrieben am: 10.06.2014 17:45:14

Ich habe es nun in meiner wirklichen Tabelle für die erste Kategorie versucht (diese hat 5 Spalten und insgesamt knapp 50 verschiedene Werte), es scheint auf Anhieb geklappt zu haben, danke!
Ich muss zwar immer noch manuell die einzelnen Zeilen in einer neuen Tabelle erstellen, sprich alle unterschiedlichen Werte heraussuchen und auflisten, aber SUMMENPRODUKT() nimmt mir dennoch einen Großteil der Arbeit ab. Nochmals danke!


 

Beiträge aus den Excel-Beispielen zum Thema "Automatisiert neue Spalten erstellen"