INDEX, KKLEINSTE und WENNFEHLER Problem
#1
Question 
Hallo zusammen,
im Anhang habe ich eine kleine abgespeckte Excel Tabelle mit 3 Tabellen.
Hier hoffe ich das ihr mir bei der Lösung helfen könnt.

Als erstes der Aufbau der Tabelle:
  1. NR für die Eingaben
  2. Test_Tab für die Auswertung
  3. Test Tabelle mit Daten
Benutzung:
Wenn ich auf dem Blatt NR den Typ 05 und die Toleranz 39 angebe soll er die Zeile mit 39 - 05 holen.
Gebe ich dort Typ 10 und die Toleranz 39 soll er die Toleranz 39 - * holen.
Bei jeder anderen Kombination die nicht in der Liste ist soll er die * - * Zeilen holen.

Umgesetzt habe ich das mit folgender Matrix Formel.
Code:
=WENNFEHLER(INDEX(tab_Breite[Typ];KKLEINSTE(WENN(tab_Breite[Hilfe]=WENN(ZÄHLENWENN(tab_Breite[Toleranz];EX_Toleranz)>0;EX_Toleranz;"*")&WENN(ZÄHLENWENN(tab_Breite[Typ];EX_Typ)>0;EX_Typ;"*")
; ZEILE(tab_Breite[Typ])-1);ZEILE(Test!E1)));WENNFEHLER(INDEX(tab_Breite[Typ];KKLEINSTE(WENN(tab_Breite[Hilfe]="**"; ZEILE(tab_Breite[Typ])-2);ZEILE(Test!E1)));""))

Problem:
Gebe ich jetzt z.B. Typ 05 und Toleranz 39 an, so holt er zwar die eine Zeile die ich benötige (39 - 05), aber er holt noch eine weitere Zeile mit * - *.
Würde ich weitere Zeilen mit * - * einfügen dann würde er auch diese holen.
Er holt dann immer die * - * minus der Anzahl gefundener Zeilen.
Das Problem liegt im letzten WENNFEHLER Block, diesen benötige ich aber für den Fallback Schutz das immer ein Wert erscheint falls eine Kombination mal nicht passt.

Frage:
Wie kann ich das Problem relativ elegant lösen?
Oder hat jemand eine andere Idee dies zu lösen?

Danke und Gruß
   Stephan


Angehängte Dateien
.xlsx   Test.xlsx (Größe: 15,7 KB / Downloads: 5)
Top
#2
Hi

Verstehe ich so.
Blatt NR
E2    =WENN(ZÄHLENWENN(tab_Breite[Typ];EX_Typ);EX_Typ;"*")
E3    =WENN(ZÄHLENWENN(tab_Breite[Toleranz];EX_Toleranz);EX_Toleranz;"*")

Blatt Test_Tab
B4    =WENNFEHLER(INDEX(tab_Breite[Toleranz];KKLEINSTE(WENN((NR!$E$2=tab_Breite[Typ])*(NR!$E$3=tab_Breite[Toleranz]);ZEILE(tab_Breite[Toleranz])-2);ZEILE(A1)););"")     'strg+shift+Enter

C4   =WENNFEHLER(INDEX(tab_Breite[Typ];KKLEINSTE(WENN((NR!$E$2=tab_Breite[Typ])*(NR!$E$3=tab_Breite[Toleranz]);ZEILE(tab_Breite[Toleranz])-2);ZEILE(A1)););"")     'strg+shift+Enter

Gruß Elex
Top
#3
(09.12.2019, 18:17)Elex schrieb: Hi

Verstehe ich so.
Blatt NR
E2    =WENN(ZÄHLENWENN(tab_Breite[Typ];EX_Typ);EX_Typ;"*")
E3    =WENN(ZÄHLENWENN(tab_Breite[Toleranz];EX_Toleranz);EX_Toleranz;"*")

Blatt Test_Tab
B4    =WENNFEHLER(INDEX(tab_Breite[Toleranz];KKLEINSTE(WENN((NR!$E$2=tab_Breite[Typ])*(NR!$E$3=tab_Breite[Toleranz]);ZEILE(tab_Breite[Toleranz])-2);ZEILE(A1)););"")     'strg+shift+Enter

C4   =WENNFEHLER(INDEX(tab_Breite[Typ];KKLEINSTE(WENN((NR!$E$2=tab_Breite[Typ])*(NR!$E$3=tab_Breite[Toleranz]);ZEILE(tab_Breite[Toleranz])-2);ZEILE(A1)););"")     'strg+shift+Enter

Gruß Elex

Hallo Elex,
danke sehr das ist genau die Lösung die ich benötigt habe  Heart 

Ich habe zwar die errechnete Zelle jetzt noch in die Formel aufgenommen aber dieser Ansatz löst mein Problem komplett.
Noch einmal Danke dafür  :18:

Gruß
   Stephan
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste