Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

variabler Matrixbezug in INDEX

variabler Matrixbezug in INDEX
28.06.2018 12:03:27
Falco
Hallo zusammen,
ich habe ein komplexeres Problem bzw. Herausforderung. Ich benötige für Thermolelemente korrekturfaktoren für die jeweiligen Temperaturen. Diese gibt es per Zertifikat in Form 100°C = 1.0; 200 °C = 1.1; 300°C = 0.9 usw. und sind in einer separaten Excel Tabelle niedergeschrieben (Spalte A=Temperaturen, Spalte B=Korrekturfaktoren)
Wenn ich nun für 140°C den Korrekturfaktor benötige, wird der per INDEX-Formel berechnet und ich erhalte den Korrekturfaktor der auf dem "Zwischenpunkt" liegt.
Das ganze lasse ich für mehrere verschiedene Thermoelemente durchführen je nachdem welches gerade benutzt wird. Dies löse ich noch über eine WENN(...) -Schleife. WENN(Thermoelement A dann; INDEX(Matrix für Element A) sonst WENN(Thermoelement B, dann INDEX B etc usw.
Das geht natürlich nicht unendlich und wird nach 10 Schleifen sehr schnell unübersichtlich (Status quo).
Für eine Schleife sieht das so aus:
A40 stellt die Temperatur dar für welche der Korr.faktor berechnet werden soll.
=WENN(A1=TE1;INDEX('Z:\...\[Korr.f.xlsx]SAT'!$B$5:$B$19+(A40-'Z:\...\[Korr.f.xlsx]SAT'!$A$5:$A$19) *('Z:\...\[Korr.f.xlsx]SAT'!$B$6:$B$20-'Z:\...\[Korr.f.xlsx]SAT'!$B$5:$B$19) /('Z:\...\[Korr.f.xlsx]SAT'!$A$6:$A$20-'Z:\...\[Korr.f.xlsx]SAT'!$A$5:$A$19);VERGLEICH(A40; 'Z:\...\[Korr.f.xlsx]SAT'!$A$5:$A$19;1));WENN(A1=TE2; neue Schleife...
Da die Matrizen zu den jeweiligen Thermoelementen fix in der Tabelle sind, würde ich die Matrix in der Formel variabel gestalten. Anstatt "'Z:\...\[Korr.f.xlsx]SAT'!$B$5:$B$19" soll Z1 stehen und in Z1 sowas wie SVerweis(....) mit der gesuchten Matrix 'Z:\...\[Korr.f.xlsx]SAT'!$B$5:$B$19

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dazu ...
28.06.2018 14:13:02
Falco
Hallo Werner,
die Thematik in deinem Link ist mir bewusst, jedoch weiss ich dann immer noch nicht welche Daten oder Infos fehlen oder welche Punkte nicht verstanden werden.
Gruss
AW: wirklich gelesen? ...
28.06.2018 15:39:15
neopa
Hallo Falco,
... aber wohl überlesen: "...für den Helfer schnell und einfach nach nutzbar sein müssen (z.B. Exceldatei fast immer besser als nur ein Bild oder anstelle dessen gar nur deren verbalen Inhaltsbeschreibung und nur die Darstellung einer nicht funktionsfähigen Lösung ohne Bezug auf vorhandene Sachlage), ..." Oder?
Gruß Werner
.. , - ...
Anzeige
AW: wirklich gelesen? ...
28.06.2018 17:04:45
Luschi
Hallo Werner,
genau diese Anmerkungen Deinereits sind meine Veranlassung, daß Helfersyndrom im Schrank zu lassen und mich meinen eigenen Interessen (C# / VB.Net) zu widmen. Wenn User (mit riesigen! Excel-Lücken) im Twitter-Stil hier posten, ohne das Problem am konkreten Beispiel aufzuzeigen, dann ist das kein Grund für mich, aktiv zu werden.
Ich kann nur hoffen, daß mehr Helfer zu dieser Ansicht kommen, damit das Niveau in den Foren endlich auf ein höheres Ebene gehoben wird - einfach nicht mehr antworten, bis die Fragesteller merken, daß auch sie ihr Scherflein dazu beitragen müssen, um eine qualifizierte (und dabei kostenlose) Antwort zu erhalten.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: wirklich gelesen? ...
29.06.2018 08:11:22
Falco
Ich kann leider die Original Datei nicht senden da diese sensible Daten enthält weshalb ich nur einen Bruchteil hier reingestellt habe.
Eine ähnlich aufgebaute Datei habe ich gestern erstellt und hochgeladen, ich hoffe das Verständnis meines Problems wird deutlicher. https://www.herber.de/bbs/user/122381.xlsx
MfG
Falco
AW: variabler Matrixbezug in INDEX
28.06.2018 15:11:39
Falco
Ein Ansatz:
Da die Korrekturfaktoren spaltenabhängig vom Thermoelement sind, verfolge ich den Ansatz die Spalte variabel mit =SUMMENPRODUKT((Matrix=TE1)*SPALTE(Matrix)) somit könnte ich den Teil 'Z:\...\[Korr.f.xlsx]SAT'!$B$5:$B$19 ersetzten, ungefähr so:
;INDEX('Z:\...\[Korr.f.xlsx]SAT'!$SUMMENPRODUKT((Matrix=TE1)*SPALTE(Matrix))$5:$SUMMENPRODUKT((Matrix=TE1)*SPALTE(Matrix))$19+(A40...
leider akzeptiert Excel das so nicht ^^
Anzeige
AW: variabler Matrixbezug in INDEX
29.06.2018 08:04:15
Falco
Hier noch eine Test-Datei zum besseren Verständnis.
https://www.herber.de/bbs/user/122381.xlsx
AW: jetzt sieht es doch gleich anders aus :-)...
29.06.2018 09:03:47
neopa
Hallo Falco,
... nun liegen alle maßgeblichen Informationen vor und ich kann Dir Vorschläge zur Lösung Deines Problems unterbreiten. Dies in Kurzform: mit weiteren INDEX() und VERGLEICH() ist das realisierbar.
Um es übersichtlicher zu verdeutlichen, hab ich Deinen langen Beispieltabellennamen ("... extern...") in "Daten" umbenannt.
Nachfolgend steht Deine meine Formel in E7. Diese beinhaltet noch nicht die notwendige Interpolation. Aber Du erkennst daran sicher das Lösungsgrundprinzip. Du musst nun nur noch konsequent meinen Teilansatz in die Interpolationsormel integrieren und schon kannst Du nicht nur drei sondern (fast) beliebig viele Blocknummern auswerten bei dann immer gleichbleibender Formellänge.
Allerdings, rate ich dazu die Daten nicht über eine externe Datei vorzunehmen sondern die Daten entweder direkt in die Auswertungsmappe oder diese über Bezüge in einer Hilfstabelle in die Auswertungsmappe zu übernehmen.
 ABCDE
5Auswahl TE11052373-0020   
6Temperatur in °C400   
7Berechnung der Korrekturdaten-0,93  -0,93

Formeln der Tabelle
ZelleFormel
B7=WENN(B5="11073389-0010";INDEX(Daten!$B$7:$B$20+(B6-Daten!A7:A20)*(Daten!B8:B21-Daten!B7:B20)/(Daten!A8:A21-Daten!A7:A20); VERGLEICH(B6;Daten!A7:A20;1)); WENN(B5="11052373-0020";INDEX(Daten!$C$7:$C$20+(B6-Daten!A7:A20)*(Daten!C8:C21-Daten!C7:C20)/(Daten!A8:A21-Daten!A7:A20); VERGLEICH(B6;Daten!A7:A20;1)); WENN(B5="11052373-0030";INDEX(Daten!$D$7:$D$20+(B6-Daten!A7:A20)*(Daten!D8:D21-Daten!B7:B20)/(Daten!A8:A21-Daten!A7:A20); VERGLEICH(B6;Daten!A7:A20;1)); "")))
E7=INDEX(Daten!A:Z;6+VERGLEICH(B6;Daten!$A$7:$A$21); VERGLEICH(B5;Daten!$2:$2;0))

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
B5Liste =TE 
Namen in Formeln
ZelleNameBezieht sich auf
B5TE=Daten!$B$2:$D$2
Namen verstehen

Gruß Werner
.. , - ...
Anzeige
AW: jetzt sieht es doch gleich anders aus :-)...
29.06.2018 11:30:23
Falco
Hallo Werner,
vielen Dank für deine Antwort. Ich denke das ich es richtig umgesetzt habe (funktioniert zumindest), könntest du nochmal drüber schauen, nicht das ich etwas vergessen habe (Fehlermöglichkeit)
Meine Formel lautet nun:
=INDEX(Daten!A:Z;6+VERGLEICH(B6;Daten!$A$7:$A$21); VERGLEICH(B5;Daten!$2:$2;0))+(INDEX(Daten!A:Z; 7+VERGLEICH(B6;Daten!$A$7:$A$21); VERGLEICH(B5;Daten!$2:$2;0))-INDEX(Daten!A:Z;6+VERGLEICH(B6; Daten!$A$7:$A$21); VERGLEICH(B5;Daten!$2:$2;0)))*((B6-SVERWEIS('Auswahl&Berechnung'!B6;Daten!A7:A21; 1))/(INDEX(Daten!A7:A21;VERGLEICH('Auswahl&Berechnung'!B6;Daten!A7:A21)+1;1) -SVERWEIS('Auswahl&Berechnung'!B6;Daten!A7:A21;1)))
(ich hab leider keine Ahnung wie ich das so schön bunt darstellen kann wie du..sry)
Anzeige
AW: nun prinzipiell korrekt ...
29.06.2018 12:05:51
neopa
Hallo Falco,
... die Formel braucht lediglich keinen Bezug auf das Ergebnistabellenblatt. Also ausrecichend ist:
=INDEX(Daten!A:Z;6+VERGLEICH(B6;Daten!$A$7:$A$21); VERGLEICH(B5;Daten!$2:$2;0))+(INDEX(Daten!A:Z; 7+
VERGLEICH(B6;Daten!$A$7:$A$21); VERGLEICH(B5;Daten!$2:$2;0))-INDEX(Daten!A:Z;6+
VERGLEICH(B6; Daten!$A$7:$A$21); VERGLEICH(B5;Daten!$2:$2;0)))*((B6-SVERWEIS(B6;Daten!A7:A21; 1))/
(INDEX(Daten!A7:A21;VERGLEICH(B6;Daten!A7:A21)+1;1)-SVERWEIS(B6;Daten!A7:A21;1)))

Meine vorherige (farbige) Darstellung hatte ich mit der Excel Jeanie (einem kostenfreien Tool) erstellt. Dazu siehe hier: http://www.excel-jeanie-html.de/
Gruß Werner
.. , - ...
Anzeige
AW: ergänzend ...
29.06.2018 12:07:17
neopa
Hallo nochmal,
... wenn Du die Ergebnisse mit der neuen Formel und Deiner alten in Deiner Beispieldatei vergleichst, wirst Du feststellen, dass Deine vorherige auch bzgl. GN3 noch einen Fehler hatte.
Gruß Werner
.. , - ...
AW: ergänzend ...
29.06.2018 14:05:38
Falco
haha,
ja du hast recht, dort hatte sich beim erstellen ein Fehler eingeschlichen. Ist zum Glück ja nur eine "billige" Kopie des Originals.
Vielen Dank nochmal für deine Hilfe und ein schönes Wochenende!
Gruss
Falco
AW: danke, wünsche ich Dir auch owT
29.06.2018 15:54:40
neopa
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige