Hallo Excel Freunde,
Kann mir jemand sagen ob es möglich ist in Excel eine Art von Formular zu erstellen, in das 2 begriffe aus einer Liste (zb. von einem Fragebogen) und eine zahl eingetragen werden.
Das Programm sucht sodann diese Begriffe (die jeweils eine bestimmte Spalte und eine Zeile bezeichnen) in einer anderen Tabelle und trägt die Zahl in das Feld ein, welches am entsprechenden Knotenpunkt liegt. Wenn zum Beispiel Begriff 1 in Spalte E steht und Begriff 2 in Zeile 6, so kommt die Zahl in Zelle E6.
Ich hoffe man kann dieses Problem überhaupt lösen. Vielen Dank erstmal.
lg Bernhard
Kann mir jemand sagen ob es möglich ist in Excel eine Art von
Formular zu erstellen, in das 2 begriffe aus einer Liste (zb.
von einem Fragebogen) und eine zahl eingetragen werden.
Das Programm sucht sodann diese Begriffe (die jeweils eine
bestimmte Spalte und eine Zeile bezeichnen) in einer anderen
Tabelle und trägt die Zahl in das Feld ein, welches am
entsprechenden Knotenpunkt liegt. Wenn zum Beispiel Begriff 1
in Spalte E steht und Begriff 2 in Zeile 6, so kommt die Zahl
in Zelle E6.
Hi Bernhard,
scheint mir lösbar, aber, stelle die Frage mal bitte genauer.
Gruß
Reinhard
Hallo Bernhard!
Schau bitte mal kurz in deinen Postkasten… Da liegt eine Lösung für dich bereit.
Gruß Alex
Hi Reinhard,
Danke, du machst mir Hoffnung.
Also, ich arbeite an einer Präsentation für einen workshop in dem gemeinsam über einen Beamer „Karteikärtchen“, welche ich in Excel als Tabelle angelegt habe ausgefüllt werden sollen.
Ich möchte dabei immer die selbe Tabelle verwenden und nur jeweils drei parameter zur Kategorisierung ändern. Die erarbeiteten Angaben werden zu einem Wert aggregiert, welcher nach jedem Durchgang in eine Übersichtstabelle übertragen werden soll (z. B. durch ein Makro?).
Die Übersichtstabelle stellt eine Matrix dar (3x3x9). Die möglichen Werte von Parameter 1 und 2 stehen in der x Achse der Matrix und bezeichnen die Art des Kundens, also in Spalte A und B. Die möglichen Werte von Parameter 3 (Art des Geschäftsfeldes) stehen in der y Achse, also in der ersten Zeile der Matrix.
Ich suche also einen Weg, wie ich durch die jeweils angegebenen Parameter am „Karteikärtchen“ den entsprechenden Platz in der Matrix finden und dann automatisiert einen aggregierten Wert dorthin übertragen kann.
Ich hoffe das war verständlich.
Vielen Dank für jegliche Hilfe.
Gruß
Bernhard.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Schau bitte mal kurz in deinen Postkasten… Da liegt eine
Lösung für dich bereit.
Hallo Alex,
ein wichtiger Bestandteil von Foren ist das Archiv. Deine Lösung wäre vielleicht für spätere Sucher im Archiv sehr interessant aber nicht verfügbar:frowning:
privatkorrespodenz ist manchmal in seltenen Fällen angebracht, vertrauliche Daten, sonstwas.
Aber der Hauptzweck eines Forums wie hier ist Wissensaustausch. Ich „gebe“ hier bei Excel und „nehme“ ab und zu bei Brett „Recht“, „Gesundheit“ „BrettX“ …
Und Wissensaustausch bedeutet auch alle können mitlesen.
Alle Leute die das gleiche Problem wie der Anfrager haben, habne von deiner Privatantwort rein gar nix.
Und vom Anfrager her gesehen ist eine private Antwort immer nur IIte Wahl, die Lösung mag funktionieren auf den ersten Blick oder auch dauerhaft aber er wird nie erfahren ob es nicht schnellere, bessere Lösungen gibt.
In diesm Brett gilt nicht „Viele Köche verderben den Brei“ sonderrn „Viele Augen sehen mehr“. Und was sehr wichtig ist, sie haben einen anderen Blickwinkel.
Das heißt Alex, deine Lösung wird von anderen untersucht begutachtet usw.
Wenn daraufhin kein Kommentar kommt ist sie in Ordnung. Aber sollte sie ne Macke haben, wird Kommentar, Verbesserung kommen, das ist hilfreich für Dich und für den Anfrager.
In einem anderen Excelforum beantworte ich auch Excelanfragen. Sehr viel gelernt, und nur dadurch, habe ich von dortigen Profis (die halt beruflich Excel programmieren) von deren Kritik an meinen Lösungen.
Klassischer fall von hilfreicher Kritik.
Dies ging/geht nur weil ich meine Lösungen offen dort poste. Hätte ich sie dem Anfrager zugemehlt, wäre er glücklich gewesen und ich auch. Aber irgendwann wären die Fehler im Code zu Tage getreten…
Von daher war es super dass ich Kritik erhielt, ich lernte was und der Anfrager hat eine verbesserte Lösung.
Also, ich bitte dich nochmals, lass das mit den Privatantworten.
Gruß
Reinhard
Hallo Reinhard,
ich hab mich sehr über das mail von Alex gefreut, nur leider konnte meine ursprüngliche Frage dadurch nicht beantwortet werden. Ich kann die vorgeschlagene Lösung ja mal posten, bin mir aber nicht sicher, ob ich dann gegen irgendein (un)geschriebenes Forengesetz verstoße.
Mit der Bitte um Excel sowie Netiquette Hilfe,
Gruß Bernhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Reinhard und Bernhard,
Ja du hast Recht, das Forum sollte für alle da sein, deshalb hier mein Lösungsweg:
- Zuerst dachte ich, Bernhard wollte die Zahlen, die sich bei den Koordinaten ergeben auslesen. Dies hatte ich mit der Formel
=INDIREKT(ADRESSE(VERGLEICH(A1;A4:A6)+3;VERGLEICH(B1;B3:smiley:3)+1;4))
gelöst.
- Beim umgekehrten Weg stehe ich im Moment bei folgender Formel:
=WENN(UND(Eingabe!$A$1=$A5;Eingabe!$B$1=E$1);Eingabe!$C$1;"")
Sie prüft, ob in der Eingabetabelle die Kriterien von A1 und B1 mit jenen der Zellen A5 und E1 übereinstimmen. Wenn ja, wird der Wert übernommen. Mit den Tasten F2 und F9 kann ich auch diese Formel als Festwert übernehmen. Ich suche aber noch nach einer Möglichkeit, dies sofort nach Änderung in der Zelle Eingabe!C1 machen zu können, ohne zuerst das Makro starten zu müssen. Also wenn sich in Eingabe!C1 was ändert, soll automatisch die Formel =WENN(UND(Eingabe!$A$1=$A2;Eingabe!$B$1=D$1);Eingabe!$C$1;"") in der richtigen Zelle durch den Festwert ersetzt werden.
@ Reinhard: wenn du dafür eine Lösung hättest, wäre ich auch daran interessiert. Diese könnte dann auch als Ausgangspunkt für eine FAQ dienen.
Mein Code schaut bisher so aus:
Sub Makro1()
Range(„B2:J10“).Select
ActiveCell.FormulaR1C1 = „=Eingabe!$C$1“
End Sub
Nachteil ist, ich muss jetzt immer selber die Zelle auswählen, die ich ersetzen möchte. Wenn dies automatisch nach der Änderung in Eingabe!C1 funktionieren würde, wäre dies die Lösung des Problems.
Danke für die Hinweise und Gruß Alex
Die Übersichtstabelle stellt eine Matrix dar (3x3x9). Die
möglichen Werte von Parameter 1 und 2 stehen in der x Achse
der Matrix und bezeichnen die Art des Kundens, also in Spalte
A und B. Die möglichen Werte von Parameter 3 (Art des
Geschäftsfeldes) stehen in der y Achse, also in der ersten
Zeile der Matrix.
Hi Bernhard,
leider verstehe ich immer noch nicht:frowning:
du haste ine dreidimensionale Matrix mit 81 Feldern (Standardmäßig in VBA sogar 160) durch die Angabe 3x3x9.
Was steht denn in den Spalten A und B? dick,dünn,arm reich,…?
Die möglichen Werte von Parameter 3 (Art des
Geschäftsfeldes) stehen in der y Achse, also in der ersten
Zeile der Matrix.
Nur in der ersten Zeile des Blattes?
Ich suche also einen Weg, wie ich durch die jeweils
angegebenen Parameter am „Karteikärtchen“ den entsprechenden
Platz in der Matrix finden und dann automatisiert einen
aggregierten Wert dorthin übertragen kann.
Du willst einen Wert aus der Matrix holen und ihn dann wieder zurückschreiben?
Am besten ist, du bastelst einige dieser Kärtchen, ein Tabellenblatt was die Matrix vorstellt und ein blatt was die Ergebnisse azeigen soll. Wobei ich nicht blicke obs das Letztere gibt. Wenn innerhalb der Matrix geänderet wird, 2 mal die Matrix, einmal vor und einmal nach Auswertung der Kärtchen
Bitte auf den Kärtchen farblich kennzeichnen was vorgegeben wird und was da eingegeben wird.
Dann hochladen bei http://www.rappidshare.de oder sonstigem Webspace.
Gruß
Reinhard
Hallo Reinhard und Bernhard,
Ja du hast Recht, das Forum sollte für alle da sein, deshalb
hier mein Lösungsweg:
- Zuerst dachte ich, Bernhard wollte die Zahlen, die sich bei
den Koordinaten ergeben auslesen. Dies hatte ich mit der
Formel
=INDIREKT(ADRESSE(VERGLEICH(A1;A4:A6)+3;VERGLEICH(B1;B3:smiley:3)+1;4))
gelöst.
- Beim umgekehrten Weg stehe ich im Moment bei folgender
Formel:
Der Vollständigkeit halber: umgekehrt bedeutet hier also, dass die Matrix zunächst lehr ist und allmählich durch Eingabe in die Felder A1, B1 und C1 mit dem Wert in C1 gefüllt wird.
=WENN(UND(Eingabe!$A$1=$A5;Eingabe!$B$1=E$1);Eingabe!$C$1;"")
Sie prüft, ob in der Eingabetabelle die Kriterien von A1 und
B1 mit jenen der Zellen A5 und E1 übereinstimmen. Wenn ja,
wird der Wert übernommen. Mit den Tasten F2 und F9 kann ich
auch diese Formel als Festwert übernehmen. Ich suche aber noch
nach einer Möglichkeit, dies sofort nach Änderung in der Zelle
Eingabe!C1 machen zu können, ohne zuerst das Makro starten zu
müssen. Also wenn sich in Eingabe!C1 was ändert, soll
automatisch die Formel
=WENN(UND(Eingabe!$A$1=$A2;Eingabe!$B$1=D$1);Eingabe!$C$1;"")
in der richtigen Zelle durch den Festwert ersetzt werden.
@ Reinhard: wenn du dafür eine Lösung hättest, wäre ich auch
daran interessiert. Diese könnte dann auch als Ausgangspunkt
für eine FAQ dienen.
Mein Code schaut bisher so aus:
Sub Makro1()
Range(„B2:J10“).Select
ActiveCell.FormulaR1C1 = „=Eingabe!$C$1“
End Sub
Nachteil ist, ich muss jetzt immer selber die Zelle auswählen,
die ich ersetzen möchte. Wenn dies automatisch nach der
Änderung in Eingabe!C1 funktionieren würde, wäre dies die
Lösung des Problems.
Danke für die Hinweise und Gruß Alex
Hallo Alex,
Funktioniert wirklich perfekt. Und lässt sich durch Erweiterung der UND Bedingung beliebig erweitern. Super!
Hoffentlich läßt sich auch der letzte Schritt noch automatisieren.
Vielen Dank für die Hilfe,
hab eine Menge dazugelernt!
Gruß Bernhard
Am besten ist, du bastelst einige dieser Kärtchen, ein
Tabellenblatt was die Matrix vorstellt und ein blatt was die
Ergebnisse azeigen soll. Wobei ich nicht blicke obs das
Letztere gibt. Wenn innerhalb der Matrix geänderet wird, 2 mal
die Matrix, einmal vor und einmal nach Auswertung der Kärtchen
Bitte auf den Kärtchen farblich kennzeichnen was vorgegeben
wird und was da eingegeben wird.
Dann hochladen bei http://www.rappidshare.de oder sonstigem
Webspace.
Gruß
Reinhard
Hallo Reinhard,
Um das Problem möglichst einfach zu halten werde ich mich am Lösungsansatz von Alex orientieren, und poste einfach mal was wir bis jetzt haben.
http://www.badongo.com/file/1460534
Bei der automatischen Übertragung des Festwertes in die Formelzelle komme ich leider auch nicht weiter. D.h. was kann ich tun damit der Wert in B4 stehen bleibt wenn ich A1,B1 und C1 ändere um eine andere Zelle auszufüllen?
Vielleicht fällt dir ja was ein.
Gruß Bernhard
Hi Bernhard,
Um das Problem möglichst einfach zu halten werde ich mich am
Lösungsansatz von Alex orientieren, und poste einfach mal was
wir bis jetzt haben.
das klingt gut 
http://www.badongo.com/file/1460534
Und nu, ich sehe A1:smiley:6, in 6 Zellen sind Kundennamen, in C1 steht 12 und wegen
=wenn(und(a1=A4;B1=B3);C1;"") steht in B4 auch 12.
Was hat denn das mit 3x3x9 zu tun?
Bei der automatischen Übertragung des Festwertes in die
Formelzelle komme ich leider auch nicht weiter. D.h. was kann
ich tun damit der Wert in B4 stehen bleibt wenn ich A1,B1 und
C1 ändere um eine andere Zelle auszufüllen?
Man kann A1,B1,C1 überwachen, werden sie nacheinander alle 3 geändert, wird in diesem Moment der Wert eingefügt in B4. Aber das ist grundsätzlich so, ob es hier grieft ist mir unklar.
Vielleicht fällt dir ja was ein.
Vieles, aber solang ich abolut nicht durchblicke was du da möchtest…
Gruß Bernhard
gruß
Reinhard
Hallo Reinhard,
Es tut mir leid. Ich merk auch mittlerweile, dass ich mich anfangs sehr unverständlich geäußert habe. Aber es ist sehr schwer ein problem zu beschreiben, dass man nicht versteht.
Und nu, ich sehe A1:smiley:6, in 6 Zellen sind Kundennamen, in C1
steht 12 und wegen
=wenn(und(a1=A4;B1=B3);C1;"") steht in B4 auch 12.
Was hat denn das mit 3x3x9 zu tun?
3x3 kommt daher, dass in meinem ursprünglichen Problem drei mal drei gleiche produktkategorien standen, jeweils für 3 Kundenkategorien. Das ändert aber die zugrundeliegende Problemstellung nicht, oder? Ich habe aus einer 9x9 einfach eine 3x3 matrix gemacht.
Man kann A1,B1,C1 überwachen, werden sie nacheinander alle 3
geändert, wird in diesem Moment der Wert eingefügt in B4. Aber
das ist grundsätzlich so, ob es hier grieft ist mir unklar.
Das hört sich gut an. Ich denke das wäre die Lösung, wenn man diese Felder überwachen könnte.
Vieles, aber solang ich abolut nicht durchblicke was du da
möchtest…
Mein Problem ist was ich tun kann, damit der Wert in Feld B4 stehen bleibt, wenn ich in einem 2. durchgang z.B. in Feld A1: Alge, B1: Hofer und in C1: 34 eintrage. Momentan würde dann zwar der Wert von C1 auch in D6 stehen, Feld B4 wäre aber wieder leer.
gruß
Reinhard
gruß
Bernhard